在Android中使用Map需要注意的技巧
2011-01-07 23:29
435 查看
在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;
}
}
(以下技巧是基于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;
}
}
相关文章推荐
- Android安全输入设计与思考,android设计思考 为什么使用安全键盘? 安全的输入 各大公司的安全键盘设计 开始自定义安全键盘 安全键盘还需要注意的
- Android 使用include需要注意的坑
- 使用HashMap需要注意的事儿:不要暴露Map.entry给外部不可信代码Map.entrySet()
- Android Adapter中使用Holder 需要注意的地方
- android使用mina需要注意的问题
- android FragmentTabHost的使用技巧及注意事项
- android SharedPreferences使用中需要注意的点
- 使用String的HashCode作为Map主键需要注意的地方
- Android APP设计加载使用gif动图需要注意的一般性问题
- Android 开发技巧 开发常见问题归纳 需要注意的坑和解决方案
- CCTMXTiledMap中使用.tmx地图编辑器需要注意的路径问题导致的热更后报错
- Android 使用Html.fromHtml需要注意的地方
- groovy 使用变量值作为 map 的key--需要注意的
- Android使用service的bind方式使用服务的使用需要注意的一个问题
- Android防止反编译:使用proguard时需要注意
- C++使用STL中map需要注意的地方
- android使用mina需要注意的问题
- Android中使用Service时需要注意的几个问题
- android使用mina需要注意的问题
- [APP开发技巧] 关于对象、数字、地理位置使用上需要注意的地方