1.MapView ,MapActivity 这种的局限在于,必须要继承MapActivity,否则无法使用MapView。纠结就在于此。但是,最新官网上已经弃用了这糟粕的MapActivity。

Version 1 of the Google Maps Android API as been officially deprecated as of December 3rd, 2012. This means that from March 3rd, 2013 you will no longer be able to request an API key for this version. No new features will be added to Google Maps Android API v1. However, apps using v1 will continue to work on devices. Existing and new developers are encouraged to useGoogle Maps Android API v2.

2.MapFragment 这种的局限在于,必须要安装Google Play Service ,也就是说必须是原生rom。而且sdk要在12以上。我蛋疼了。

3.WebView 貌似很轻松的集成进来,但没有实践就木有发言权。

第一种方式我先略过了。大家都知道。说第二种,第三种会了再补上

MapFragment是刚出的google官方包,要集成进来还是挺麻烦的。官网链接https://developers.google.com/maps/documentation/android/start

    • 首先要到google conlose添加api access权限,拿到apikey,创建一个project ,然后到services里把Google Maps Android API v2打开,再到api access里把你的project的keystore的SHA1和包名填进去,拿到唯一的api key
    • 打开sdk manager--在Extras里把Android Support Libaray 和 Google Play Services都安装,lib和samples都在sdk_path/extra/google/google_play_services下。导入../lib_project作为自己项目的libaray
    • 这一步完了之后在manifest.xml文件里添加权限和api key。代码如下
    • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 < permission android : name = "com.example.permission.MAPS_RECEIVE" android : protectionLevel = "signature" / > com . example替换成自己 projectpackage < uses - permission android : name = "com.example.permission.MAPS_RECEIVE" / > < uses - permission android : name = "android.permission.WRITE_EXTERNAL_STORAGE" / > < uses - permission android : name = "android.permission.INTERNET" / > < uses - permission android : name = "com.google.android.providers.gsf.permission.READ_GSERVICES" / > < ! -- My Location -- > < uses - permission android : name = "android.permission.ACCESS_COARSE_LOCATION" / > < uses - permission android : name = "android.permission.ACCESS_FINE_LOCATION" / > < ! -- Maps API needs OpenGL ES 2.0. -- > < uses - feature android : glEsVersion = "0x00020000" android : required = "true" / > 放在 application声明里 < meta - data android : name = "com.google.android.maps.v2.API_KEY" android : value = "appkey" / >

      在layout xml里加入MapFragment声明
      1 2 3 4 5 < fragment xmlns : android = "http://schemas.android.com/apk/res/android" android : id = "@+id/map" android : layout_width = "match_parent" android : layout_height = "match_parent" class = "com.google.android.gms.maps.MapFragment" / >

      activity不变,extends Activity就可以了。 不需要继承MapActivity了。

      注意,debug状态下是不可以显示地图的,一定要在正式签名下map才会显示出来。

      install下应该就能看到map了

      还有不懂的就多看看官方文档把,介绍的很清楚。以上只是方便我自己记忆。

更多相关文章

  1. TabHost、TabWidgt、Tabcontent之间的关系
  2. Android隐藏标题栏的方法
  3. 【Android每日点滴】Fragment与Activity交互
  4. Android(安卓)TextView控件
  5. ViewPager And Fragment
  6. ListView的两种使用方法1.继承ListActivity2.自己定义ListView
  7. Android继承ViewGroup自定义流式布局
  8. android studio 中实现android全屏 AppCompat does not support
  9. Applying Styles and Themes - 应用Style和Theme - Android官方

随机推荐

  1. beforeTextChanged,TextChanged,afterTex
  2. 在android里面调用javascript代码
  3. Android设置RadioButton在文字的右边
  4. android 根据TextView宽度 自动缩小字体
  5. 【Android】监听电话状态
  6. 《Android.Programming.Pushing.the.Limi
  7. Android使用GPS定位
  8. Design TIps for Android(安卓)Applicati
  9. Win8风格的按钮、ToggleButton、SeekBar
  10. android acitonbar(toolbar)自定义溢出菜