android下开发google map需要注意的若干问题



android下开发google map需要注意的若干问题

关于android下开发google map需要注意的若干问题

1:申请google map api key,这个是必须的,网上看看就知道。

2:软件的版本,android sdk和google map包分别对应的android api版本必须一致。

3:构建项目时就选择好 build target 为 google apis,如果开始你是选择 android 2.2(或者android的其他版本,我这里用的是目前最新的版本),那么以后在项目中再去添加maps.jar,且修改build target,程序运行容易出错。

build target 为 google apis 时,构建的工程会自动为我们生成相关的配置项,这个和选择 android 2.2 是略有不一样的,

比如:default.properties 文件最后的一行是:target=Google Inc.:Google APIs:8

而 android 2.2 工程下的是:target=android-8

另外在 AndroidManifest.xml 也自动加上了:uses-permission 、uses-library 等节点。

4:示例代码(仅展示一下地图,本身就支持拖动)

主 Activity 类:

package valsun.com;

import android.os.Bundle;
import android.util.Log;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;


public class LocationActivity extends MapActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);

Log.i(“welcome”, “created map activity.”);
}

@Override
protected boolean isRouteDisplayed() {
 return false;
}

}
main.xml 文件:

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android
   android:orientation=”vertical” android:layout_width=”fill_parent”
   android:layout_height=”fill_parent”>
   <com.google.android.maps.MapView
       android:id=”@+id/map_view” android:layout_width=”fill_parent”
       android:layout_height=”fill_parent” android:enabled=”true”
       android:clickable=”true”  android:apiKey=”这里换成你自己的api key />
</LinearLayout>
default.properties 文件:

target=Google Inc.:Google APIs:8
AndroidManifest.xml 文件:

<?xml version=”1.0″ encoding=”utf-8″?>
<manifest xmlns:android=”http://schemas.android.com/apk/res/android
package=”valsun.com” android:versionCode=”1″ android:versionName=”1.0″>

<uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION” />

<uses-permission android:name=”android.permission.INTERNET” />

<application android:icon=”@drawable/icon” android:label=”@string/app_name”>

 <uses-library android:name=”com.google.android.maps” />
<activity android:name=”.LocationActivity” android:label=”@string/app_name”>
  <intent-filter>
   <action android:name=”android.intent.action.MAIN” />
   <category android:name=”android.intent.category.LAUNCHER” />
  </intent-filter>
 </activity>
</application>
<uses-sdk android:minSdkVersion=”8″ />

</manifest>

测试通过!