腾讯地图Android SDK是一套基于Android设备的应用程序接口,通过该接口,可以轻松访问腾讯地图服务和数据,构建功能丰富、交互性强的地图应用程序华为代码查看手机应用程序 。腾讯地图Android SDK不仅包含构建地图的基本接口,还提供了诸如地图定位、地址编码、地址反编码、实时路况、POI搜索、周边搜索、公交线路搜索、驾车线路搜索等数据服务。
下面这个实例演示了在Android手机上模拟小车在驾车线路上行驶华为代码查看手机应用程序 。
01
实例功能
■ 图1
02
实现代码
publicclassMainActivityextendsActivity{
展开全文
TencentMap myTencentMap;
Polyline myPolyline;
List<LatLng> myLatLngs; intmyIndex;
Marker myMarker;
@Override
protectedvoidonCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MapView myMapView = (MapView) findViewById(R.id.myMapView);
myMapView.onResume;
myTencentMap = myMapView.getMap;
myTencentMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
newLatLng( 29.585997, 106.593304), 13)); //设置为腾讯地图中心
publicvoidonClickButton1(View v){ //响应单击按钮“获取两地驾车线路”
//清空之前绘制的驾车线路和图像标记
if(myPolyline!= null) myPolyline.remove;
if(myMarker!= null) myMarker.remove;
EditText myEditFrom=(EditText)findViewById(R.id.myEditFrom);
EditText myEditTo=(EditText)findViewById(R.id.myEditTo);
String myFromText=myEditFrom.getText.toString;
String myToText=myEditTo.getText.toString;
doublemyFromLat=Double.parseDouble(
myFromText.substring( 0,myFromText.indexOf( ',')));
doublemyFromLng=Double.parseDouble(
myFromText.substring(myFromText.indexOf( ',')+ 1));
doublemyToLat=Double.parseDouble(
myToText.substring( 0,myToText.indexOf( ',')));
doublemyToLng=Double.parseDouble(
myToText.substring(myToText.indexOf( ',')+ 1));
//设置起点为腾讯地图中心
myTencentMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
newLatLng(myFromLat,myFromLng), 13));
TencentSearch myTencentSearch= newTencentSearch( this);
DrivingParam myDrivingParam= newDrivingParam;
//设置驾车线路的起点和终点
myDrivingParam.from( newLocation(( float)myFromLat,( float)myFromLng));
myDrivingParam.to( newLocation(( float)myToLat,( float)myToLng));
//通过腾讯检索服务搜索最佳驾车线路华为代码查看手机应用程序 ,并将该线路绘制在腾讯地图上
myTencentSearch.getDirection(myDrivingParam, new{
@Override
publicvoidonSuccess( inti,BaseObject baseObject) {
//获取驾车线路检索结果
DrivingResultObject myResultObject=(DrivingResultObject)baseObject;
List<DrivingResultObject.Route> myRoutes=myResultObject.result.routes;
//创建经纬度值列表集合华为代码查看手机应用程序 ,用于存储该驾车线路上的纬度经度
myLatLngs= newArrayList<LatLng>;
for(Location location:myRoutes.get( 0).polyline){
myLatLngs.add( newLatLng(location.lat,location.lng));
//将驾车线路绘制在腾讯地图上
myPolyline=myTencentMap.addPolyline(
newPolylineOptions.addAll(myLatLngs).color(Color.RED));
myPolyline.setWidth( 18);
myIndex= 0;
//初始化MarkerOptions对象华为代码查看手机应用程序 ,用于设置自定义标记的相关参数
MarkerOptions myMarkerOptions= newMarkerOptions;
myMarkerOptions.position(myLatLngs.get( 0));
myMarkerOptions.icon(
BitmapDeorFactory.fromResource(R.mipmap.myimage1));
//在腾讯地图的指定位置绘制图像标记(小车)
myMarker=myTencentMap.addMarker(myMarkerOptions);
@Override
publicvoidonFailure( inti,String s,Throwable throwable) { }
publicvoidonClickButton2(View v){ //响应单击按钮“启动小车行驶动画”
MyAnimation;
publicvoidMyAnimation{
TranslateAnimation myAnimation=
newTranslateAnimation(myLatLngs.get(myIndex++%myLatLngs.size));
myAnimation.setDuration( 500);
myAnimation.setAnimationListener( newAnimationListener{
@Override
publicvoidonAnimationStart{}
@Override
publicvoidonAnimationEnd{
MyAnimation; //递归调用函数华为代码查看手机应用程序 ,实现小车沿指定驾车线路行驶
myMarker.setAnimation(myAnimation);
myMarker.startAnimation; //开始执行小车行驶动画
03
代码说明
上面这段代码在MyCode\MySampleJ90\app\src\main\java\com\bin\luo\mysample\ MainActivity.java文件中华为代码查看手机应用程序 。
需要说明的是,此实例需要引入腾讯地图SDK的开发文件,即MyCode\MySampleJ90\ app\libs文件夹中的TencentMapSearch_v1.1.7.1.3e04ee1.jar文件;然后在MyCode\MySampleJ90\app文件夹的build.gradle文件中添加依赖项implementation files('libs/TencentMapSearch_v1.1.7.1.3e04ee1.jar')和implementation 'com. tencent.map:tencent-map-vector-sdk:4.1.1',并执行同步(Sync Now)操作;且需要在MyCode\MySampleJ90\app\src\main\AndroidManifest.xml文件中添加开发者Key和相关权限,具体内容请查看该文件华为代码查看手机应用程序 。
此实例的完整代码在MyCode\MySampleJ90文件夹中华为代码查看手机应用程序 。
04
补充说明
在测试代码时,必须保持网络畅通华为代码查看手机应用程序 。
05
源代码下载
关注微信公众号,后台回复关键词 “Android App开发超实用代码224” 即可获得完整源代码华为代码查看手机应用程序 。
06
参考书籍
扫码优惠购书
《Android App开发超实用代码集锦——jQuery Mobile+OpenCV+O》
作者:罗帅、罗斌
定价:99元
问题描述+解决方案+真实源码+效果截图
介绍jQuery Mobile、OpenCV、OpenGL等在Android平台运行的应用
300个实例华为代码查看手机应用程序 ,提供完整源代码,边看边做边学