任我行二 - 高德地图篇1 - 显示地图
生活随笔
收集整理的這篇文章主要介紹了
任我行二 - 高德地图篇1 - 显示地图
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
附加高德SDK ?apidoc
按照官方文檔,將下載下來的doc 附加到IDEA 中。
記:2d的包可以不使用,3d 的包包含了2d的功能。
將mapview 放在fragment中來顯示
官方的示例是將mapview 放在activity中來顯示,個(gè)人覺得放在fragment中更好。
map_layout.xml
<?xml?version="1.0"?encoding="utf-8"?> <FrameLayout?xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"?android:layout_height="match_parent"><com.amap.api.maps.MapView?android:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/map"/></FrameLayout>再在我們的activity中加fragment。
index_layout.xml
<?xml?version="1.0"?encoding="utf-8"?> <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><fragment?class="com.qzz.android.app.iride.fragments.AutoNaviMapFragment"android:layout_width="match_parent"android:layout_height="match_parent"/> </LinearLayout>創(chuàng)建了一個(gè)AutoNaviMapFragment用來初始化地圖操作。
AutoNaviMapFragment.java
package?com.qzz.android.app.iride.fragments;import?android.os.Bundle; import?android.view.LayoutInflater; import?android.view.View; import?android.view.ViewGroup; import?com.amap.api.maps.AMap; import?com.amap.api.maps.MapView; import?com.qzz.android.app.iride.R;/***?Created?by?Q?on?2015/4/12.*/ public?class?AutoNaviMapFragment?extends?MapFragment?{private?MapView?mapView;private?AMap?aMap;@Overridepublic?View?onCreateView(LayoutInflater?inflater,?ViewGroup?container,?Bundle?savedInstanceState)?{View?view?=?super.onCreateView(inflater,?container,?savedInstanceState);mapView?=?(MapView)?view.findViewById(R.id.map);mapView.onCreate(savedInstanceState);init();return?view;}/***?初始化?AMap?對(duì)象*/private?void?init()?{if?(aMap?==?null)?{aMap?=?mapView.getMap();}}@Overridepublic?void?onSaveInstanceState(Bundle?outState)?{super.onSaveInstanceState(outState);mapView.onSaveInstanceState(outState);}@Overridepublic?void?onResume()?{super.onResume();mapView.onResume();}@Overridepublic?void?onPause()?{super.onPause();mapView.onPause();}@Overridepublic?void?onDestroy()?{super.onDestroy();mapView.onDestroy();} }繼承的MapFragment 用來渲染xml文件,只有一句話。
MapFragment.java
public?abstract?class?MapFragment?extends?Fragment?{@Overridepublic?View?onCreateView(LayoutInflater?inflater,?ViewGroup?container,?Bundle?savedInstanceState)?{return?inflater.inflate(R.layout.map_layout,container,false);} }最重要的是要在AndroidManifest.xml中加入key和權(quán)限。 key申請(qǐng)方式可以在官方網(wǎng)站上看。
加入以下基本權(quán)限
<uses-permission?android:name="android.permission.INTERNET"/> <uses-permission?android:name="android.permission.READ_PHONE_STATE"/> <uses-permission?android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission?android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission?android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission?android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission?android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission?android:name="android.permission.READ_PHONE_STATE"?/> <uses-permission?android:name="android.permission.CHANGE_WIFI_STATE"?/> <uses-permission?android:name="android.permission.ACCESS_WIFI_STATE"?/> <uses-permission?android:name="android.permission.CHANGE_CONFIGURATION"?/>如此幾步,就可以在fragment中顯示地圖了。上個(gè)效果圖。
轉(zhuǎn)載于:https://my.oschina.net/qzzsunly/blog/399220
總結(jié)
以上是生活随笔為你收集整理的任我行二 - 高德地图篇1 - 显示地图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 介绍4种HTML5 Canvas库
- 下一篇: P2P理财友情提示