当前位置:首页 > 开发 > 移动开发 > 正文

Google Map API V2

发表于: 2013-05-13   作者:dai_lm   来源:转载   浏览:
摘要: 以后如果要开发包含google map的程序就更麻烦咯 http://www.cnblogs.com/mengdd/archive/2013/01/01/2841390.html 找到篇不错的文章,大家可以参考一下 http://blog.sina.com.cn/s/blog_c2839d410101jahv.html 1. 创建Android工程 由于v2的key需要G
以后如果要开发包含google map的程序就更麻烦咯
http://www.cnblogs.com/mengdd/archive/2013/01/01/2841390.html

找到篇不错的文章,大家可以参考一下
http://blog.sina.com.cn/s/blog_c2839d410101jahv.html

1. 创建Android工程
由于v2的key需要Google Play Service的支持,所以创建的工程需要将其引入

2. 获得keystore的SHA-1的fingerprint
%JAVA_HOME%\bin\keytool -list -v -keystore .android\debug.keystore
(Release时换成相应的keystore)

3. 获得Google Map API Key
打开 https://code.google.com/apis/console并登录(第一次登录会提示创建API Project)
导航栏点击Services,找到Google Maps Android API v2,设置成ON(设置后左侧导航栏的内容会增加)
导航栏点击API Access -> Create new Android Key
输入SHA-1的fingerprint和工程的包名,用分号分隔
点击Create后就可以获得Key了(会获得2个Key,一个是对应Android设备的,另一个是对应Browser的)

4. 修改AndroidManifest.xml
添加Permission
<permission
    android:name="<your package name>.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-permission android:name="<your package name>.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

添加API Key
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

...

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="<your API Key>" />
</application>


5. 在layout.xml上添加Google Map
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</RelativeLayout>


6. 控制Google Map
由于使用了Fragment,所以要继承FragmentActivity
public class MainActivity extends FragmentActivity implements
		OnMapLongClickListener, OnMyLocationChangeListener {

	private GoogleMap map;
	private MarkerOptions destinationMarker;
	private LatLng myLatLng;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		Fragment fragmentMap = getSupportFragmentManager().findFragmentById(
				R.id.map);
		if (fragmentMap != null)
			map = ((SupportMapFragment) fragmentMap).getMap();

		if (map != null) {
			map.setMyLocationEnabled(true);
			map.setOnMyLocationChangeListener(this);
			map.setOnMapLongClickListener(this);

			// location lat lng
			LatLng latLng = new LatLng(0, 0);
			// add mark
			destinationMarker = new MarkerOptions();
			destinationMarker.position(latLng);
			destinationMarker.title("test");
			map.addMarker(destinationMarker);
			// move camera
			map.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 12f));
		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

	@Override
	public void onMyLocationChange(Location loc) {
		myLatLng = new LatLng(loc.getLatitude(), loc.getLongitude());
	}

	@Override
	public void onMapLongClick(LatLng point) {
		map.clear();
		destinationMarker = new MarkerOptions();
		destinationMarker.position(point);
		map.addMarker(destinationMarker);
	}
}

Google Map API V2

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
之前用的都是v1,用的是MapView,好吧,仅仅能认命了。废话不再多说,開始android 的Google Maps An
仍然是建议个异步小任务 1 private GetPathTask mGetPathTask = null; 2 3 private void getGuidePa
要使用V2 的API,需要到Google APIs Console将Google Maps Android API v2服务开启(前提是你已经拥
检查Android SDK ,确保Google Play service已经安装,现象见图: 开发的应用要支持2.2+导入Froyo的
在弃用百度地图之后,开始尝试google map, 原因这里就不废话了。 在使用 Google map api v2 的时候
之前用的都是v1,用的是MapView,好吧,只能认命了。废话不再多说,开始android 的Google Maps Andr
Android开发之调用google map api v2 详细图解 详细参考google官方文档:https://developers.google
google map api v2的使用详细过程,图文并茂(原创) 上一篇中说到怎么获取key,下面来介绍怎么使用
上一篇中说到怎么获取key,下面来介绍怎么使用key来显示google地图 步骤1:eclipse上打开android SD
前一阵公司给配了个Mac 谁想项目运行后地图没了,怎么办申请 android google map API key吧。糟糕,
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号