Android 软件中嵌入地图之一:Sogou 地图

在 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
** **

** <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" / >

** **

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/

](http://map.sogou.com/api/documentation/mobile/api1.0/android/examples/)