Android-08-腾讯3d地图SDK-简单地图显示详细
备份用
项目下载:https://duolc.lanzous.com/ibijcdi
地图包下载:https://duolc.lanzous.com/ibc9upc
目录
一、准备
0.腾讯地图开发者平台
1.key
包可以多设置(方便后面测试)
2.地图包(我以2d包为例)
下载后是zip后缀,改成jar
二、项目结构
一个java,一个xml
三、新建项目(Empty Activity)
以项目名map_06为例
1.放包
放在项目->app->libs下
2.使用jar包
File->Project Structure->Dependencies->找到如图的加号->jar Dependency
选中,找到列表->Apply->OK
3.使用 maven
build.gradle(Project)
allprojects->repositories->maven->
build.gradle(Module)
右上角
4.把key输入
在AndroidManifest.xml里
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="TencentMapSDK"
android:value="输入申请的开发者权限"/>
</application>
5.添加权限
在AndroidManifest.xml里
<!--腾讯地图 SDK 要求的权限(开始)-->
<!--访问网络获取地图服务-->
<uses-permission android:name="android.permission.INTERNET"/>
<!--检查网络可用性-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- 访问WiFi状态 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--需要外部存储写权限用于保存地图缓存-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!--获取 device id 辨别设备-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!--腾讯地图 SDK 要求的权限(结束)-->
6.修改activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.tencent.tencentmap.mapsdk.maps.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
7.MainActivity.java
package com.example.map_06;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.os.Bundle;
import com.tencent.tencentmap.mapsdk.maps.CameraUpdate;
import com.tencent.tencentmap.mapsdk.maps.CameraUpdateFactory;
import com.tencent.tencentmap.mapsdk.maps.MapView;
import com.tencent.tencentmap.mapsdk.maps.TencentMap;
import com.tencent.tencentmap.mapsdk.maps.UiSettings;
import com.tencent.tencentmap.mapsdk.maps.model.CameraPosition;
import com.tencent.tencentmap.mapsdk.maps.model.LatLng;
public class MainActivity extends Activity {
private MapView mMapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mMapView = (MapView) findViewById(R.id.map);
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
mMapView.onStart();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
mMapView.onResume();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
mMapView.onPause();
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
mMapView.onStop();
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
mMapView.onRestart();
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
mMapView.onDestroy();
}
}
完成,点击运行
提示Fragement里需要重写找个方法 不然地图只会是灰色的 只有比例尺和腾讯地图logo
@Override
public void onResume() {
super.onResume();
mMapView.onResume();
}