`
百合不是茶
  • 浏览: 345145 次
社区版块
存档分类
最新评论

高德地图开发使用技术一

阅读更多

防止以后不知道怎么使用,记录一下地图开发过程中的一些细节

 

一,地图的三种模式

3D地图SDK提供三种地图类型:MAP_TYPE_NORMAL 、 MAP_TYPE_SATELLITE 和 MAP_TYPE_NIGHT。
1. MAP_TYPE_NORMAL:标准地图。地图包含道路、建筑,以及重要的自然风光(如河流)等。道路和功能标签为可见。
2. MAP_TYPE_SATELLITE:卫星地图。3D地图道路和功能标签为可见的,2D地图道路和功能标签不可见。
3. MAP_TYPE_NIGHT:夜景地图(仅3D地图)。道路和功能标签可见。

 a,矢量地图 

 

aMap.setMapTextZIndex(AMap.MAP_TYPE_NORMAL);

 

 

b,夜景地图

 

aMap.setMapType(AMap.MAP_TYPE_NIGHT);

 

 

c,卫星地图

 

 aMap.setMapType(AMap.MAP_TYPE_SATELLITE);

 

 

二:定位;高德地图有三种定位方式:定位模式,跟随模式,设置定位类型根据地图面方向旋转

 

/**
 * 激活定位
 */
@Override
public void activate(OnLocationChangedListener onLocationChangedListener) {
    mListener = onLocationChangedListener;
    if (mAMapLocationManager == null) {
        mAMapLocationManager = LocationManagerProxy.getInstance(this);
        /*
         * mAMapLocManager.setGpsEnable(false);
         * 1.0.2版本新增方法,设置true表示混合定位中包含gps定位,false表示纯网络定位,默认是true Location
         * API定位采用GPS和网络混合定位方式
         * ,第一个参数是定位provider,第二个参数时间最短是2000毫秒,第三个参数距离间隔单位是米,第四个参数是定位监听者
         */
        //此方法为每隔固定时间会发起一次定位请求,为了减少电量消耗或网络流量消耗,
        //注意设置合适的定位时间的间隔,并且在合适时间调用removeUpdates()方法来取消定位请求
        //在定位结束后,在合适的生命周期调用destroy()方法
        //其中如果间隔时间为-1,则定位只定一次
        mAMapLocationManager.requestLocationData(LocationProviderProxy.AMapNetwork, -1, 10, this);
    }
}
 
/**
 * 停止定位
 */
@Override
public void deactivate() {
    mListener = null;
    if (mAMapLocationManager != null) {
        mAMapLocationManager.removeUpdates(this);
        mAMapLocationManager.destroy();
    }
    mAMapLocationManager = null;
}
 
/**
 * 定位成功后回调函数
 */
@Override
public void onLocationChanged(AMapLocation aMapLocation) {
    if (mListener != null && aMapLocation != null) {
        mListener.onLocationChanged(aMapLocation);// 显示系统小蓝点
    }
}

 

 

三:设置比例尺

    1,设置比例尺的缩放:

     

aMap.moveCamera(CameraUpdateFactory.zoomTo(30));

 

 

2,设置比例尺显示

 

mUiSettings.setScaleControlsEnabled(true);

 

 

四:Marker的使用;点击地图添加图片,需要实现OnMapCLickListener类的onMapClick()方法

如果需要改变标记图像,可以设置自定义的图像,通常被称为图标。自定义图标通常由 BitmapDescriptor 设置。可以在类 BitmapDescriptorFactory 使用以下其中一种方法定义。
1. fromAsset(String assetName) 在 assets 目录中使用图像创建自定义标记。
2. fromBitmap (Bitmap image) 使用位图图像创建自定义标记。
3. fromFile (String path) 指定路径的文件创建自定义图标。
4. fromResource (int resourceId) 使用已经存在的资源创建自定义图标。

 

@Override
public void onMapClick(LatLng latLng) {
    MarkerOptions markerOptions = new MarkerOptions();
    // 设置Marker的图标样式
    markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.map_marker));
    // 设置Marker点击之后显示的标题
    markerOptions.title("Marker");
    // 设置Marker的坐标,为我们点击地图的经纬度坐标
    markerOptions.position(latLng);
    // 设置Marker的可见性
    markerOptions.visible(true);
    // 设置Marker是否可以被拖拽,这里先设置为false,之后会演示Marker的拖拽功能
    markerOptions.draggable(false);
    // 将Marker添加到地图上去
    mAMap.addMarker(markerOptions);
  
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics