百度地图中的controller
来源:互联网 发布:网络设备网管软件 编辑:程序博客网 时间:2024/05/19 22:27
百度地图中的controller
MapController类的实例化是通过MapView类中的 getController( )方法
例如:Mapcontroller mapcontroller =MapView类的对象 . getController( );
这个Controller就是一个控制器,可以实现放大,缩小,平移,旋转,倾斜五种
功能。
1.放大
非常简单,直接用Controller的方法
setZoomIn()
mapcontroller.zoomIn();
2.缩小
同上所述,依然很简单,直接调用Controller的方法
seZoomOut()
mapcontroller.zoomOut();
3.平移
之前需要定义一个点GeoPoint (int(X*1E6),int(Y*1E6));
X,Y是经纬度 (精确到小数点后6位)。
GeoPoint point = new GeoPoint (int(X*1E6),int(Y*1E6));
4.旋转
旋转之前需要使用int rotation=MapView.getRotation( );
这个rotation就是当前的度数,之后我们应该做一个递增,就是
totation+=30;这样写出来每一次都会旋转30度
5.倾斜
做倾斜操作之前也是要先获得当前的倾斜度,使用方法依然是
getOverLooking( )方法,之后在做递减即可。
以上所列举的5点内容可以用switch case语句实现,也可以用if else 语句
实现,比如如下使用if else方法,再加上按键输入来实现:
onKeyDown( )方法就是针对按键这个事件所产生的方法
public Boolean onKeyDown(int KeyCode,KeyEvent event)
{ if (KeyCode==KeyEvent.KEYCODE_1)//KeyEvent是类,KEYCODE_1是一个常量
mapcontrollor.setzoomIn();
else if(KeyCode==KeyEvent.KEYCODE_2)
mapcontrollor.setzoomOut();
else if(KeyCode==KeyEvent.KEYCODE_3)
{mapcontroller.animateTo(point);
//Log.i(ACTIVITY_SERVICE, "one");
}
else if(KeyCode==KeyEvent.KEYCODE_4)
int rotation =mapcontrollor.getRotation();
rotation+=5;
mapcontrollor.setRotation();
else if(KeyCode==KeyEvent.KEYCODE_5)
int overlooking=mapcontrollor.getOverLooking();
overlooking-=5;
mapcontrollor.setOverLooking();
return true;
}
然后我们就可以在onCreate onResume等周期中将onKeyDown()调用即可
MapController类的实例化是通过MapView类中的 getController( )方法
例如:Mapcontroller mapcontroller =MapView类的对象 . getController( );
这个Controller就是一个控制器,可以实现放大,缩小,平移,旋转,倾斜五种
功能。
1.放大
非常简单,直接用Controller的方法
setZoomIn()
mapcontroller.zoomIn();
2.缩小
同上所述,依然很简单,直接调用Controller的方法
seZoomOut()
mapcontroller.zoomOut();
3.平移
之前需要定义一个点GeoPoint (int(X*1E6),int(Y*1E6));
X,Y是经纬度 (精确到小数点后6位)。
GeoPoint point = new GeoPoint (int(X*1E6),int(Y*1E6));
4.旋转
旋转之前需要使用int rotation=MapView.getRotation( );
这个rotation就是当前的度数,之后我们应该做一个递增,就是
totation+=30;这样写出来每一次都会旋转30度
5.倾斜
做倾斜操作之前也是要先获得当前的倾斜度,使用方法依然是
getOverLooking( )方法,之后在做递减即可。
以上所列举的5点内容可以用switch case语句实现,也可以用if else 语句
实现,比如如下使用if else方法,再加上按键输入来实现:
onKeyDown( )方法就是针对按键这个事件所产生的方法
public Boolean onKeyDown(int KeyCode,KeyEvent event)
{ if (KeyCode==KeyEvent.KEYCODE_1)//KeyEvent是类,KEYCODE_1是一个常量
mapcontrollor.setzoomIn();
else if(KeyCode==KeyEvent.KEYCODE_2)
mapcontrollor.setzoomOut();
else if(KeyCode==KeyEvent.KEYCODE_3)
{mapcontroller.animateTo(point);
//Log.i(ACTIVITY_SERVICE, "one");
}
else if(KeyCode==KeyEvent.KEYCODE_4)
int rotation =mapcontrollor.getRotation();
rotation+=5;
mapcontrollor.setRotation();
else if(KeyCode==KeyEvent.KEYCODE_5)
int overlooking=mapcontrollor.getOverLooking();
overlooking-=5;
mapcontrollor.setOverLooking();
return true;
}
然后我们就可以在onCreate onResume等周期中将onKeyDown()调用即可
0 0
- 百度地图中的controller
- 百度地图中的事件
- 百度地图中的密钥
- 百度地图中的离线地图加载
- 百度地图中的覆盖物
- AngularJS中的百度地图开发
- 百度地图MapView中的覆盖物
- 百度地图在web项目中的使用
- 百度地图在AndroidStudio中的配置
- 百度地图官网中的示例错误
- 百度地图在Android中的使用
- 百度地图在js中的完全应用
- 百度地图集成中的各种问题!
- 百度地图开发中的一些问题
- 百度地图动态加载数据库中的信息
- 百度地图在android中的使用
- 百度地图和google地图在开发中的微小比较
- 百度地图中的多地图覆盖物的实现
- 游戏中的心理学:心理画像之大R篇
- JavaScript继承详解(四)
- GPIO
- 选择怎样的系统更能适合App软件开发者?
- D3D 光照和材料 小例子
- 百度地图中的controller
- zookeeper 的Watcher机制实现
- java的JDK的安装配置图文详解
- js报错
- (深度搜索)The House Of Santa Claus
- try catch finally return?
- JavaScript继承详解(五)
- eclipse使用技巧学习
- abstract class和interface的剖析