在某些项目里,或者游戏项目里。偶尔要显示一下地图,怎么办,这里稍微研究了一下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到手机。