使用高德地图怎么获取规划路径的详情

使用高德地图怎么获取规划路径的详情,第1张

高德sdkdemo 找半刚始直3D图面找寻找关drive类要怪 英文毕竟太菜百度些相关 我没弄…才找原东西 AMap_Android_Navi SDK_All demo…demo面 GetNaviStepsAndLinksActivity 类真服自智商… 类代码public class GetNaviStepsAndLinksActivity extends BaseActivity {private AMapNaviPath mAMapNaviPath;private List steps;private List links;private List guides;@Overrideprotected void onCreate(Bundle savedInstanceState) { mEndLatlng = new NaviLatLng(45742367, 126661665); mStartLatlng = new NaviLatLng(22373594, 113562575); superonCreate(savedInstanceState); setContentView(Rlayoutactivity_basic_navi); mAMapNaviView = (AMapNaviView) findViewById(Ridnavi_使用高德图获取规划路径详情

1)添加高德SDK

(2)配置AndroidManifest文件

(3)创建地图

(4)控件交互

(5)方法交互

(6)地图截图

(7)添加Marker标记 上面我大致分为了7部分,其中第(1)、(2)部分在高德定位的博客中有说,本篇就不再多述。不同的地方就是我们需要添加地图的SDK以及armebi文件:

ok,下面正式进入地图的使用。

(1)创建地图:即在XML中添加即可。

android:id="@+id/mapview"

android:layout_width="match_parent"

android:layout_height="match_parent" />

然后重写Activity的生命周期方法,并在其中调用MapView相对的生命周期方法:

@Override

protected void onCreate() {

mMapView = (MapView) findViewById(Ridmapview);

mMapViewonCreate(savedInstanceState);//此方法必须重写

if(mMap == null) {

mMap = mMapViewgetMap();

}

// 地图模式可选类型:

// MAP_TYPE_NORMAL:普通模式(默认)

// MAP_TYPE_SATELLITE:卫星地图模式

// MAP_TYPE_NIGHT:夜间模式

// mMapsetMapType(AMapMAP_TYPE_SATELLITE);

}

@Override

protected void onResume() {

superonResume();

mMapViewonResume();

}

@Override

protected void onPause() {

superonPause();

mMapViewonPause();

}

@Override

protected void onDestroy() {

superonDestroy();

mMapViewonDestroy();

}

(2)控件交互:高德允许我们在地图上显示一些交互的控件。

mUiSettings = mMapgetUiSettings();

//控制定位到当前按钮的显示和隐藏

mUiSettingssetMyLocationButtonEnabled(true);

//控制缩放控件的显示和隐藏。

mUiSettingssetZoomControlsEnabled(true);

//控制指南针的显示和隐藏。

mUiSettingssetCompassEnabled(true);

//显示比例尺控件:例如1:10Km

mUiSettingssetScaleControlsEnabled(true);

(3)方法交互:

1改变地图中心点

CameraUpdate cameraUpdate = CameraUpdateFactorynewCameraPosition(

new CameraPosition(new LatLng(39977290,116337000),//新的中心点坐标

18, //新的缩放级别

30, //俯仰角0°~45°(垂直与地图时为0)

0  偏航角 0~360° (正北方为0)

));

改变地图中心点有两种方式:

(1)平滑地移动地图:第二个参数为移动时长

mMapanimateCamera(cameraUpdate, 1000, new AMapCancelableCallback() {

@Override

public void onFinish() {

}

@Override

public void onCancel() {

}

});

(2)直接应用新的视图

mMapmoveCamera(cameraUpdate);

2改变地图缩放级别

zoomTo是缩放地图到指定的缩放级别,ZoomIn是缩放地图到当前缩放级别的上一级

mMapmoveCamera(CameraUpdateFactoryzoomTo(17));//将地图的缩放级别调整到17级

(4)地图截取:高德提供了地图截取功能,可以在截取后获取到Bitmap

mMapgetMapScreenShot(new AMapOnMapScreenShotListener() {

@Override

public void onMapScreenShot(Bitmap bitmap) {

}

@Override

public void onMapScreenShot(Bitmap bitmap, int i) {

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");

if(null == bitmap){

return;

}

//保存截图

try {

FileOutputStream fos = new FileOutputStream(

EnvironmentgetExternalStorageDirectory() + "/test_"

+ sdfformat(new Date()) + "png");

boolean b = bitmapcompress(BitmapCompressFormatPNG, 100, fos);

try {

fosflush();

} catch (IOException e) {

eprintStackTrace();

}

try {

fosclose();

} catch (IOException e) {

eprintStackTrace();

}

StringBuffer buffer = new StringBuffer();

if (b)

bufferappend("截屏成功 ");

else {

bufferappend("截屏失败 ");

}

if (i != 0)

bufferappend("地图渲染完成,截屏无网格");

else {

bufferappend( "地图未渲染完成,截屏有网格");

}

//ToastUtilshow(ScreenShotActivitythis, buffertoString());

} catch (FileNotFoundException e) {

eprintStackTrace();

}

}

});

(5)添加Marker标记。

LatLng latLng = new LatLng(39906901,116397972);

Marker marker = mMapaddMarker(new MarkerOptions()

draggable(true)//可拖拽

setFlat(true)//将Marker设置为贴地显示,可以双指下拉看效果

icon(BitmapDescriptorFactory

fromResource(Rdrawableic_location_mark))//Marker图标

title("marker标记")//标题

position(latLng));

//显示InfoWindow

if(!markerisInfoWindowShown()) {

markershowInfoWindow();

}

//Marker点击事件

mMapsetOnMarkerClickListener(new AMapOnMarkerClickListener() {

@Override

public boolean onMarkerClick(Marker arg0) {

return false;

}

});

看完环信官方的demo *** 作起来还是比较简单的下面贴上步骤

1点击位置的点击事件更换 ,demo中的点击事件是在EaseChatFragment下的onExtendMenuItemClick里面官方提供了EaseBaiduMapActivity 这个定位页面。

2修改为高德其实非常简单只需要在ChatFragment *** 作就可以了

21修改点击事件在ChatFragment的onExtendMenuItemClick方法中添加

22 在自己实现高德地图的页面返回定位信息 参数名称不要修改 不然其它地方也要修改

23接下来在ChatFragment中的onActivityResult中接收定位信息并发送消息

走到这里从高德获取的位置消息已经成功发送给好友了 接下来是获取查看好友位置消息

24 查看位置消息

还是在ChatFragment里 通过getCustomChatRow方法

LoccationAdapter 继承位置消息展示 重写了点击事件

好了大功告成,至于高德sdk什么的相信大家都能自己解决的·

在使用高德地图之前需要现在 高德地图开放平台 创建一个APP,会自动生成一个appKey,在工程中使用高德地图sdk时是需要这个key的,然后在自己的工程导入高德地图sdk,高德地图开放平台上有详细的步骤。

高德地图使用的是面向接口的框架,其ViewMap类作为核心类,需要重写Activity生命周期的所有方法,这要求开发者具备面向对象多态性,继承性的功底。如果不理解常用的设计模式和架构,对于该平台的掌握会稍微吃力。

先要去注册一个高德平台账号,然后创建一个应用,可以拿到一个appkey。通过这个appkey 在java里面用>

1、首先用户将手机上安装的高德地图打开。

2、其次进行搜索想要前往到达的地址,并进地址进行分享转载。

3、最后即可提取高德地图定位网址。高德地图是中国领先的数字地图内容、导航和位置服务解决方案提供商。

以上就是关于使用高德地图怎么获取规划路径的详情全部的内容,包括:使用高德地图怎么获取规划路径的详情、安卓获取高德后台画面、Android集成环信发送位置消息更换为高德sdk等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9617568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存