在App中加入地图功能真是让人揪结,Google地图功能强大,但是有些国内的手机厂商去掉了手机系统中Google地图的相关库,所以这类机型将无法安装调用了Google地图的软件(比如:联想s899t)。如果用百度,搜狗,这些国内地图,又没法满足其他国家用户的需求。现在看来只好出两个版本。
从技术上来说,搜狗地图实现起来最容易,只需:加库,改AndroidManifest.xml,修改界面即可。百度,需要用应用名生成Key。而Google Map,还需要使用发布密钥生成一个Key,在Key和密钥正确对应时,才能正常显示地图,编译时还需要配置Google Play Service,并且对手机系统的版本也有一定要求,虽然复杂,但功能也多。
搜狗地图
一、当前版本:v1.1,支持Android1.6及以上版本
二、使用方法:
1 加入库
下库开发包,将其中的jar和so导入工程
2 修改AndroidManifest.xml
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permissionandroid:name="android.permission.READ_PHONE_STATE" />
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permissionandroid:name="android.permission.WAKE_LOCK" />
3 修改layout中的xml
<?xmlversion="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.go2map.mapapi.MapView
android:id="@+id/sogouMap"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.17"
android:visibility="visible" />
</LinearLayout>
4 修改Activity.java
import android.app.Activity;
import android.os.Bundle;
import com.go2map.mapapi.MapView;
import com.go2map.mapapi.Point;
public class SogouMapActivity extendsActivity {
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sogou);
MapViewmapView = (MapView) findViewById(R.id.sogouMap);
mapView.getController().setCenter(newPoint(12956000, 4824875), 10);
}
}
三、相关链接:
http://map.sogou.com/api/documentation/mobile/api1.0/android/examples/