`
whao189
  • 浏览: 123153 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android map (地图)

阅读更多
这些天,先来无事,细细想来不能就这么打酱油的度过,毕竟人得这一生也就那  三万六千五百多天的时间,我们得好好利用!鉴于此,决定好好地学习android 知识以备后用(其实主要是我对android UI 中的各个组件还是不是很了解,所以正在系统的看SDK 文档API 。。。)

那么我今天主要是在学习android map 这个东东,起初我也不会,但是不是有 李彦宏么?

结果找到了很多,但是我们得合理利用并且要总结出自己的经验!呵呵...


那么好的我们一步一步来:

第一步呢:当然是申请密钥了。。。这个是必需的

我们执行命令:
keytool -list -keystore ~/.android/debug.keystore

前提是。。你配置的环境变量。。然后“~/.android/debug.keystore”  你可以使用绝对路径。
。这个地方填写的就是 你 eclipse---》 window -》》》perference---》android---》Build---》你可以看到 右侧有一个 DefaultDebug  keystore:C:\Users\XXXX\.android\debug.keystore  。。对的 。就是这个值 这个路径。。呵呵


。。然后可能会提示 你一些东西。。。我的提示我输入 keytool密码。。我没有输入 。。直接回车。。就出来了。。

你也可以试试。。呵呵!!

然后我们 会拿到 。。MD5 值。。

然后我们到这里 http://code.google.com/intl/zh-CN/android/maps-api-signup.html

去用我们的MD5 生成一个 密钥的。。。你直接生成就是了。。

他会告诉你怎么用的。。呵呵

好的那么我们来创建项目,记住。。一定要创建的是googleAPIS 这样的项目 。。

因为这里我们要用到maps.jar。。。。。呵呵。。让我们的activity继承MapActivity

这样的话。。我们就可以吧。。在 你的 layout文件中定义好了。。

然后我们需要在清单文件中。。。mainfest中。。添加权限。。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>




这里面的话。。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>


是设置我们可以访问 粗略或者 精细的位置。。

好了。。设置好了。。。。。。。

好了接下来我们看代码:

public class MainActivity extends MapActivity {

	private MapView mapView;
	
	private MapController controller;
	
	// 菜单项
	final private int menuMode=Menu.FIRST;
	final private int menuExit=Menu.FIRST+1;
	private int chooseItem=0;
	
	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

		mapView = (MapView)findViewById(R.id.mapView);
		
		mapView.setTraffic(true);
		mapView.setSatellite(false);
		mapView.setStreetView(true);
		
		
		mapView.setBuiltInZoomControls(true);
		
		GeoPoint point = new GeoPoint((int)(23.08*1000000),(int)(113.15*1000000));
		
		controller  = mapView.getController();
		controller.setCenter(point);
//这个地方得注意。。。
		controller.setZoom(12);
    }
	@Override
	protected boolean isRouteDisplayed() {
		// TODO Auto-generated method stub
		return false;
	}



。。运行一下结果。。看看吧。。。。


但是请注意这个地方。。
controller.setZoom(12);


我因为 之前没有设置。。所以在运行的时候我就可拿不到具体的城市位置。。。

GeoPoint point = new GeoPoint((int)(23.08*1000000),(int)(113.15*1000000));


因为我设置的是 一广州为中心。。。如果我们不设置
controller.setZoom(12);


貌似出来的是世界地图。。我这边是这样的。。呵呵!好了看看是不是有收获!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics