当前位置:
首页 >
任我行二 - 高德地图篇1 - 显示地图
发布时间:2025/7/14
53
豆豆
生活随笔
收集整理的这篇文章主要介绍了
任我行二 - 高德地图篇1 - 显示地图
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
2019独角兽企业重金招聘Python工程师标准>>>
附加高德SDK apidoc
按照官方文档,将下载下来的doc 附加到IDEA 中。
记:2d的包可以不使用,3d 的包包含了2d的功能。
将mapview 放在fragment中来显示
官方的示例是将mapview 放在activity中来显示,个人觉得放在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>创建了一个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 对象*/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和权限。 key申请方式可以在官方网站上看。
加入以下基本权限
<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中显示地图了。上个效果图。
转载于:https://my.oschina.net/qzzsunly/blog/399220
总结
以上是生活随笔为你收集整理的任我行二 - 高德地图篇1 - 显示地图的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 介绍4种HTML5 Canvas库
- 下一篇: P2P理财友情提示