在Android中使用GoogleMap非常方便,但是有些小技巧或者注意事项你必须牢记,否则调试半天你也不会找到啥线索,浪费时间不说,更让你狂抓,以下技巧都是我在实际项目中遇到的,不断更新和维护,如果你有类似技巧,欢迎分享:
(以下技巧是基于SDK 1.0的)
一、申请Apikey,并放在正确的位置
这个应该都知道,但是是申请得到的key放哪里很多人不知道,可以放在
1、XML布局文件中
<view android:id="@+id/mv"
class="com.google.android.maps.MapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:apiKey="01Yu9W3X3vbpYT3x33chPXXX7U1Z6jy8WYZXNFA"
/>
2、java中
mMapView = new MapView(this, "01Yu9W3X3vbpYT3x33chPxxx7U1Z6jy8WYZXNFA");
二、记得导入uses-library
由于1.0版本的修改,使得map包不再是默认的了,使用的时候需要在manifest中的application节点下加入
<uses-library android:name="com.google.android.maps" />
否则,你将遇到可恶的“java.lang.NoClassDefFoundError: ”,切记!
三、需要给予一定的权限
因为要使用GoogleMAP的service,所以需要
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
如果需要GPS等应用,还需要
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
四、Activity需要继承自MapActivity
类似如下代码;
package com.iceskysl.showmap;
import com.google.android.maps.MapActivity;
import android.os.Bundle;
public class ShowMap extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}