在某些项目里,或者游戏项目里。偶尔要显示一下地图,怎么办,这里稍微研究了一下Cocos2d-x集成高德地图,目前只实现了。接入2D的,3D的还没有试过,目前只测试了Android项目。
申请开发KEY
请自行打开网站,申请http://developer.amap.com/,创建好项目。拿到KEY后。开始创建Cocos2d项目
接入项目
如果创建Cocos2d-x项目。就不详细说了。需要把下面的几个Jar包放入Android Lib包:
配置Java Build Path
编译代码
重载AppActivity的onCreate方法,内容如下:
private MapView mMapView = null;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
mMapView = new MapView(this.getBaseContext());
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(800, 1200);
mMapView.setLayoutParams(layoutParams);
//在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图
mMapView.onCreate(savedInstanceState);
this.mFrameLayout.addView(mMapView);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
mMapView.onDestroy();
}
protected void onResume(){
super.onResume();
mMapView.onResume();
}
protected void onPause() {
super.onPause();
//在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制
mMapView.onPause();
}
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
//在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态
mMapView.onSaveInstanceState(outState);
}
配置AndroidManifest.xml文件,添加权限:
在XML Application节点中间添加:
修改你的包名为申请APP时的包名即可。打包,Run到手机。