问答
客服(同微信)
15320418221

有谁知道iOS开发怎么能将根据地图搜索API搜索出来的地名直接标注在地图中心点上吗?

2021-09-23 17:39

花次元

花次元

德地图Android API 库文件引入。然后在工程Build Path>Configure Build Path…>Order and Export 中将引入的库文件MapApi.jar 选中,点击OK,这样您就可以在您的程序中使用地图API 了。
二、我们在不熟悉的情况下、先尽量多的添加此软件应用权限;所以在mainifest中添加如下代码;插入的位置在 <application的代码之前。 Java代码 <uses-permission :name=".permission.ACCESS_COARSE_LOCATION"></uses-permission> <uses-permission :name=".permission.ACCESS_FINE_LOCATION"></uses-permission> <uses-permission :name=".permission.INTERNET"></uses-permission> <uses-permission :name=".permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission :name=".permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission :name=".permission.READ_PHONE_STATE"></uses-permission> <uses-permission :name=".permission.CHANGE_WIFI_STATE"></uses-permission> <uses-permission :name=".permission.ACCESS_WIFI_STATE"></uses-permission>
三、接着就要在res文件下的layout中添加界面布局了。其代码如下、你可以完全复制进去。 Java代码 <?xml version="
1.0" encoding="utf-8"?> <LinearLayout xmlns:="链接" :orientation="vertical" :layout_width="fill_parent" :layout_height="fill_parent" > <!--添加文本输入框,查找地址--> <LinearLayout :layout_height="wrap_content" :layout_width="wrap_content" :orientation="horizontal" xmlns:="链接" :layout_gravity="center_horizontal"> <TextView :layout_height="wrap_content" :layout_width="wrap_content" :text="经度"/> <EditText :layout_height="fill_parent" :layout_width="100px" :id="@+id/longitude"/> <TextView :layout_height="wrap_content" :layout_width="wrap_content" :text="纬度"/> <EditText :layout_height="fill_parent" :layout_width="100px" :id="@+id/latitude"/> <Button :layout_width="wrap_content" :layout_height="wrap_content" :text="查找" :id="@+id/button"/> </LinearLayout> <com.amap.map.map.MapView :id="@+id/mapView" :layout_width="fill_parent" :layout_height="fill_parent" :clickable="true" /> </LinearLayout>
四、最后就是软件的主程序部分了、里面需要的类和方法不多,主要以按钮的监听器和地图的界面实现为主 Java代码 public void onCreate(Bundle savedInstanceState) { // this.setMapMode(MAP_MODE_VECTOR);//设置地图为矢量模式 super.onCreate(savedInstanceState); setContentView(R.layout.main); mMapView = (MapView) findViewById(R.id.mapView); mMapView.setBuiltInZoomControls(true); // 设置启用内置的缩放控件 mMapController = mMapView.getController(); // 得到mMapView // 的控制权,可以用它控制和驱动平移和缩放 nt = new GeoPoint((int) (3
9.982378 * 1E6), (int) (11
6.304923 * 1E6)); // 用给定的经纬度构造一个GeoPoint,单位是微度(度* // 1E6) // 按钮添加监听器 button_location = (Button) findViewById(R.id.location); longitude = (EditText) findViewById(R.id.longitude); latite = (EditText) findViewById(R.id.latitude); locationListener = new OnClickListener() { public void onClick(View e) { if (e.equals(button_location)) { // 得到文本输入框的中经纬 度坐标值 String latStr = longitude.getText().toString(); // 将得到的字符串转成数值 double lat = Integer.parseInt(latStr); String lngStr = latite.getText().toString(); double lng = Integer.parseInt(lngStr); //转成经纬度坐标 lat=lat*1E6; lng=lng*1E6; // 用给定的经纬度构造一个GeoPoint,单位是微度(度*1E6) nt = new GeoPoint((int) (lat), (int) (lng)); mMapController.setCenter(nt); // 设置地图中心点 mMapController.setZoom(12); // 设置地图zoom 级别 // 添加地图覆盖物 // MyLocationOverlay(this, mMapView); mylocTest.enableMyLocation(); // 判断是否发现位置提供者 mylocTest.enableCompass(); // 打开指南针 mMapView.getOverlays().add(mylocTest);// 添加标注覆盖物 } } }; // 按钮添加监听器 button_location.setOnClickListener(locationListener); mMapController.setCenter(nt); // 设置地图中心点 mMapController.setZoom(12); // 设置地图zoom 级别 // 添加地图覆盖物 mylocTest = new MyLocationOverlay(this, mMapView); mylocTest.enableMyLocation(); // 判断是否发现位置提供者 mylocTest.enableCompass(); // 打开指南针 mMapView.getOverlays().add(mylocTest);// 添加标注覆盖物 } //另外一个添加界面覆盖物的类: public class MyLocationOverlayProxy extends com.amap.map.map.MyLocationOverlay{ private Location mLocation; protected final Paint mPaint = new Paint(); protected final Paint mCirclePaint = new Paint(); private Bitmap gps_marker=null; private Point mMapCoords = new Point(); private final float gps_marker_CENTER_X; private final float gps_marker_CENTER_Y; private final LinkedList<Runnable> mRunOnFirstFix = new LinkedList<Runnable>(); public MyLocationOverlayProxy(amap amap, MapView mMapView) { super(amap, mMapView); gps_marker = ((BitmapDrawable) amap.getResources().getDrawable( R.drawable.marker_gpsvalid)).getBitmap(); gps_marker_CENTER_X = gps_marker.getWidth() / 2 - 0.5f; gps_marker_CENTER_Y= gps_marker.getHeight() / 2 - 0.5f; } public boolean runOnFirstFix(final Runnable runnable) { if (mLocation != null) { new Thread(runnable).start(); return true; } else { mRunOnFirstFix.addLast(runnable); return false; } } public void onLocationChanged(Location location) { // TODO Auto-generated method stub mLocation = location; for(final Runnable runnable : mRunOnFirstFix) { new Thread(runnable).start(); } mRunOnFirstFix.clear(); super.onLocationChanged(location); } protected void drawMyLocation(Canvas canvas, MapView mapView, final Location mLocation, GeoPoint nt, long time) { Projection pj=mapView.getProjection(); if (mLocation != null) { mMapCoords=pj.toPixels(nt, null); final float radius = pj.metersToEquatorPixels(mLocation.getAccuracy()); this.mCirclePaint.setAntiAlias(true); this.mCirclePaint.setARGB(35, 131, 182, 222); this.mCirclePaint.setAlpha(50); this.mCirclePaint.setStyle(Style.FILL); canvas.drawCircle(mMapCoords.x, mMapCoords.y, radius, this.mCirclePaint); this.mCirclePaint.setARGB(225, 131, 182, 222); this.mCirclePaint.setAlpha(150); this.mCirclePaint.setStyle(Style.STROKE); canvas.drawCircle(mMapCoords.x, mMapCoords.y, radius, this.mCirclePaint); canvas.drawBitmap(gps_marker, mMapCoords.x-gps_marker_CENTER_X, mMapCoords.y-gps_marker_CENTER_Y, this.mPaint); } } }

2021-09-23 18:59:48

相关问答

怎样能将所有的指路人地图标注服务中心铺位置在地图上面标注出来?

autoMan

autoMan

可以在地图添加标注:;打开地图并登录。;点击右上角商户免费标注,进入商户中心。;需要标注的指路人地图标注服务中心铺是否存在,如果存在可以直接认领。;如果不存在可以在地图上标注指路人地图标注服务中心铺位置、填写信息,上传各种证明资料新增商户。;提交申请后,需要5-7天的审核期,审核...

2021-09-23 17:37:38 603查看 1回答

有没有知道怎么在地图上标注新地址的吗?

渺茫

渺茫

不能,没有这个功能,如果有这个功能,那谁都可以在上面随便标注了,那地图还怎么用啊。只有商业本身才有,而且要上传相应的营业执照才能审核成功的。

2021-09-23 17:39:14 259查看 1回答

知道经纬度怎么在地图上标注出来呢?

天上下yu

天上下yu

首先,你要知道怎么区分经纬度:南北纬:赤道以北为北纬(N);赤道以南为南纬(S)本初子午线(0度经线)以东为东经(E);本初子线以西为西经(W);再根据你所知道的经纬度来确定是南纬还是北纬,是东经还是西经,然后在地图上找到相应的数值,最终两条数值交叉的地方就是要标注的位置

2021-09-23 17:39:25 319查看 1回答

有谁知道iOS开发怎么能将根据地图搜索API搜索出来的地名直接标注在地图中心点上吗?

花次元

花次元

德地图AndroidAPI库文件引入。然后在工程BuildPath>ConfigureBuildPath…>OrderandExport中将引入的库文件MapApi.jar选中,点击OK,这样您就可以在您的程序中使用地图API了。二、我们在不...

2021-09-23 17:39:33 328查看 2回答

使用地图开发付费应用,是否收费?

咕噜咕噜

咕噜咕噜

API是完全免费的。至少暂时是完全免费的,以后,有可能会有地图调用次数的限制,对超过指定数量的调用收费,或者对升级为“专业版”的用户进行收费。

2021-09-23 17:45:26 571查看 4回答

地图怎么根据详细地址定位

小青

小青

提供了四种定位方式:ip城市经纬度这里看的话,感觉我只能在地址中取出城市,然后定位的那个城市。有没有能进一步定位的/方法,定位到城市下的某一个区域比如地图定位到杭州市滨江区甚至能定位到某一条街道,但这边有个问题因为后面的具体地址是人为输入的可能写的有问题再...

2021-09-23 17:46:17 285查看 3回答

使用地图如何实现根据定位实现周边搜索

十七

十七

在地图上右键点任意一点,会弹出一个小表单,选择其中的“在此点附近找……”,会出现第二个对话框,可选择公交车站、宾馆、医院等预选项,或者在输入框中输入自己想查找的东西,确定后,会出现一个1公里半径的圆圈,并在圆圈内显示所有指定搜索的内容。该圆圈缺省半径是1公里。可以点击圆圈拉大其....

2021-09-23 17:46:21 375查看 2回答

更多问答

最新知识

公司地址认领搜狗地图标注多久审核?公司地址认领地图标注多久审核?

公司地址认领搜狗地图标注多久审核?公司地址认领地图标注多久审核?

小编为您整理我在地图上标注审核认领需要多久、我在地图上标注审核认领需要多久y、我在地图上标注审核认领需要多久i、我在地图上标注审核认领需要多久Y、搜狗地图标注要多久才显示相关地图标注知识,详情可查看下方正文!

2023-01-17

公司地址如何入驻花小猪打车地图标记?指路人地图标注服务中心铺如何入驻花小猪打车地图标记?

公司地址如何入驻花小猪打车地图标记?指路人地图标注服务中心铺如何入驻花小猪打车地图标记?

小编为您整理美团商家如何入驻,商家入驻教程、商家如何入驻地图、如何入驻地:、养殖营业执照如何入驻地图、家政公司如何入驻美团相关地图标注知识,详情可查看下方正文!

2023-01-17

门指路人地图标注服务中心如何做花小猪打车地图位置标记?门指路人地图标注服务中心花小猪打车地图位置地址标记?

门指路人地图标注服务中心如何做花小猪打车地图位置标记?门指路人地图标注服务中心花小猪打车地图位置地址标记?

小编为您整理如何做地图标记、地图如何做标记、so搜街景中如何做标记、360e启花贷款申请通过了是要去到门指路人地图标注服务中心办理手续的吗、哪些软件能实现在地图上标记门指路人地图标注服务中心位置相关地图标注知识,详情可查看下方正文!

2023-01-17

门指路人地图标注服务中心地图位置地址标记?门指路人地图标注服务中心苹果地图位置地址标记?

门指路人地图标注服务中心地图位置地址标记?门指路人地图标注服务中心苹果地图位置地址标记?

小编为您整理哪些软件能实现在地图上标记门指路人地图标注服务中心位置、门指路人地图标注服务中心地址标注、如何创建门指路人地图标注服务中心定位地址、如何创建门指路人地图标注服务中心定位地址、服装门指路人地图标注服务中心地址标注上地图怎么弄相关地图标注知识,详情可查看下方正文!

2023-01-17

凯立德地图位置定位怎么设置自己的指路人地图标注服务中心名?凯立德地图位置定位怎么设置公司地址?

凯立德地图位置定位怎么设置自己的指路人地图标注服务中心名?凯立德地图位置定位怎么设置公司地址?

小编为您整理凯立德怎么定位自己的位置啊、手机凯立德地图定位怎么设置往上走、地图位置定位怎么设置自己的指路人地图标注服务中心名、凯立德手机版如何定位自己的位置,求助、凯立德导航怎么设置指路人地图标注服务中心铺招牌相关地图标注知识,详情可查看下方正文!

2023-01-17