-
android 高德地图 demo
2016-04-22 11:19:59该项目是高德地图demo,运行在eclipse上,功能包括:显示基础地图,定位,显示marker标志,点击marker标志有气泡显示 -
android 高德地图Demo 的使用
2016-05-23 00:25:44android 高德地图Demo 的使用android 高德地图Demo 的使用
1、将多余的Avtivity和layout删了!2、高德地图 记得要加入Key值,name不用修改;将主Avtivity变一下,剩下的删了!
3、修改 Assistant_Location_Activity:
package com.amap.location.demo;
import com.amap.api.location.AMapLocationClient;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.webkit.GeolocationPermissions.Callback;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
/**
* H5辅助定位模式功能演示
*
* @创建时间: 2015年11月24日 下午4:24:07
* @项目名称: AMapLocationDemo2.x
*
* @author hongming.wang
* @文件名称: Battery_Saving_Activity.java
* @类型名称: Battery_Saving_Activity
*/
public class Assistant_Location_Activity extends Activity implements OnClickListener {
private AMapLocationClient locationClient = null;
private WebView webView;
private Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);//不顯示标题
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_assistant_location);
webView = (WebView) findViewById(R.id.webView);
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stubs
Intent intent=new Intent();
//包名 包名+类名(全路径)
intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
startActivity(intent);
finish();//停止当前的Activity,如果不写,则按返回键会跳转回原来的Activity
}
});
locationClient = new AMapLocationClient(getApplicationContext());
locationClient.startAssistantLocation();
webView.setVisibility(View.VISIBLE);
webView.loadUrl(Utils.URL_H5LOCATION);
initWebView();
}
private void initWebView(){
webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
// 允许webview执行javaScript脚本
webSettings.setJavaScriptEnabled(true);
// 设置是否允许定位,这里为了使用H5辅助定位,设置为false。
//设置为true不一定会进行H5辅助定位,设置为true时只有H5定位失败后才会进行辅助定位
webSettings.setGeolocationEnabled(false);
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
});
webView.setWebChromeClient(new WebChromeClient() {
// 处理javascript中的alert
public boolean onJsAlert(WebView view, String url, String message,
final JsResult result) {
return true;
};
// 处理javascript中的confirm
public boolean onJsConfirm(WebView view, String url,
String message, final JsResult result) {
return true;
};
// 处理定位权限请求
@Override
public void onGeolocationPermissionsShowPrompt(String origin,
Callback callback) {
callback.invoke(origin, true, false);
super.onGeolocationPermissionsShowPrompt(origin, callback);
}
@Override
// 设置网页加载的进度条
public void onProgressChanged(WebView view, int newProgress) {
Assistant_Location_Activity.this.getWindow().setFeatureInt(
Window.FEATURE_PROGRESS, newProgress * 100);
super.onProgressChanged(view, newProgress);
}
// 设置应用程序的标题title
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
if (null != locationClient) {
locationClient.stopAssistantLocation();
locationClient.onDestroy();
}
if(null != webView){
webView.destroy();
}
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
}4、修改布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<WebView
android:id="@+id/webView"
android:visibility="gone"
android:layout_marginTop="@dimen/normal_margin"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="56dp"
android:layout_marginRight="58dp"
android:text="Button" />
</RelativeLayout> -
Android :高德地图demo
2018-12-20 11:00:09高德的账号去改的开房平台进行注册,注册成功后进入个人中心; 进入个人中心后点击应供管理 //这里可以随便写 获取SHA1码 需要的权限有 &lt;!-- Normal Permissions 不需要运行时注册...
高德的账号去改的开房平台进行注册,注册成功后进入个人中心;
进入个人中心后点击应供管理
//这里可以随便写
获取SHA1码
需要的权限有
<!-- Normal Permissions 不需要运行时注册 --> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 --> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" tools:ignore="ProtectedPermissions" /> <!-- 请求网络 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- 不是SDK需要的权限,是示例中的后台唤醒定位需要的权限 --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- 需要运行时注册的权限 --> <!-- 用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 用于访问GPS定位 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于提高GPS定位速度 --> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <!-- 写入扩展存储,向扩展卡写入数据,用于写入缓存定位数据 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 读取缓存数据 --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 用于读取手机当前的状态 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 更改设置 --> <uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions" /> <!-- 3.2.0版本增加 --> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <!-- 3.2.0版本增加 --> <uses-permission android:name="android.permission.BLUETOOTH" />
清单文件中
<meta-data android:name="com.amap.api.v2.apikey" android:value="你的key值"></meta-data> <!-- 定位需要的服务 --> <service android:name="com.amap.api.location.APSService"></service>
sourceSets {
main {
jniLibs.srcDirs = [‘libs’]
}
}
写入一个工具类public class LocationUtils implements AMapLocationListener { private AMapLocationClient aMapLocationClient; private AMapLocationClientOption clientOption; private ILocationCallBack callBack; public void startLocate(Context context) { aMapLocationClient = new AMapLocationClient(context); //设置监听回调 aMapLocationClient.setLocationListener(this); //初始化定位参数 clientOption = new AMapLocationClientOption(); clientOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Battery_Saving); clientOption.setNeedAddress(true); clientOption.setOnceLocation(false); //设置是否强制刷新WIFI,默认为强制刷新 clientOption.setWifiActiveScan(true); //设置是否允许模拟位置,默认为false,不允许模拟位置 clientOption.setMockEnable(false); //设置定位间隔 clientOption.setInterval(2000); aMapLocationClient.setLocationOption(clientOption); aMapLocationClient.startLocation(); } @Override public void onLocationChanged(AMapLocation aMapLocation) { if (aMapLocation != null) { if (aMapLocation.getErrorCode() == 0) { //定位成功完成回调 String country = aMapLocation.getCountry(); String province = aMapLocation.getProvince(); String city = aMapLocation.getCity(); String district = aMapLocation.getDistrict(); String street = aMapLocation.getStreet(); double lat = aMapLocation.getLatitude(); double lgt = aMapLocation.getLongitude(); callBack.callBack(country + province + city + district + street, lat, lgt, aMapLocation); } else { //显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。 Log.e("AmapError", "location Error, ErrCode:" + aMapLocation.getErrorCode() + ", errInfo:" + aMapLocation.getErrorInfo()); } } } /** * 自定义图标 * * @return */ public MarkerOptions getMarkerOption(String str, double lat, double lgt) { MarkerOptions markerOptions = new MarkerOptions(); markerOptions.icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher)); markerOptions.position(new LatLng(lat, lgt)); markerOptions.title(str); markerOptions.snippet("纬度:" + lat + " 经度:" + lgt); markerOptions.period(100); return markerOptions; } public interface ILocationCallBack { void callBack(String str, double lat, double lgt, AMapLocation aMapLocation); } public void setLocationCallBack(ILocationCallBack callBack) { this.callBack = callBack; } }
然后就是高德的代码
public class MainActivity extends AppCompatActivity implements LocationSource { private MapView myMapView; private AMap aMap; private LocationSource.OnLocationChangedListener mListener = null;//定位监听器 private LocationUtils locationUtils; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myMapView = findViewById(R.id.MapView); myMapView.onCreate(savedInstanceState); initView(); } private void initView() { if(aMap == null){ aMap = myMapView.getMap(); } setLocationCallBack(); //设置定位监听 aMap.setLocationSource(this); //设置缩放级别 aMap.moveCamera(CameraUpdateFactory.zoomTo(15)); //显示定位层并可触发,默认false aMap.setMyLocationEnabled(true); } private void setLocationCallBack(){ locationUtils = new LocationUtils(); locationUtils.setLocationCallBack(new LocationUtils.ILocationCallBack() { @Override public void callBack(String str,double lat,double lgt,AMapLocation aMapLocation) { //根据获取的经纬度,将地图移动到定位位置 aMap.moveCamera(CameraUpdateFactory.changeLatLng(new LatLng(lat,lgt))); mListener.onLocationChanged(aMapLocation); //添加定位图标 aMap.addMarker(locationUtils.getMarkerOption(str,lat,lgt)); } }); } @Override public void activate(OnLocationChangedListener onLocationChangedListener) { mListener = onLocationChangedListener; locationUtils.startLocate(getApplicationContext()); } @Override public void deactivate() { mListener = null; } @Override protected void onPause() { super.onPause(); //暂停地图的绘制 myMapView.onPause(); } @Override protected void onDestroy() { super.onDestroy(); //销毁地图 myMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); //重新绘制加载地图 myMapView.onResume(); } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); myMapView.onSaveInstanceState(outState); } }
xml中只需要写入一个MapView就ok
<com.amap.api.maps.MapView android:id="@+id/MapView" android:layout_width="match_parent" android:layout_height="match_parent"></com.amap.api.maps.MapView>
还有一个反编译地理位置的代码,效果图就不上了
public class AddrChangeActivity extends AppCompatActivity implements View.OnClickListener, GeocodeSearch.OnGeocodeSearchListener { private EditText Addr_Edit; private Button Zheng_Btn; private EditText JinDU_Edit; private EditText WeiDu_Edit; private Button Fan_Btn; private TextView Get_Text; private GeocodeSearch geocodeSearch; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_addr_change); initView(); //构造 GeocodeSearch 对象,并设置监听。 geocodeSearch = new GeocodeSearch(this); geocodeSearch.setOnGeocodeSearchListener(this); //通过GeocodeQuery设置查询参数,调用getFromLocationNameAsyn(GeocodeQuery geocodeQuery) 方法发起请求。 //address表示地址,第二个参数表示查询城市,中文或者中文全拼,citycode、adcode都ok // GeocodeQuery query = new GeocodeQuery(address, "010"); // geocoderSearch.getFromLocationNameAsyn(query); } private void initView() { Addr_Edit = (EditText) findViewById(R.id.Addr_Edit); Zheng_Btn = (Button) findViewById(R.id.Zheng_Btn); JinDU_Edit = (EditText) findViewById(R.id.JinDU_Edit); WeiDu_Edit = (EditText) findViewById(R.id.WeiDu_Edit); Fan_Btn = (Button) findViewById(R.id.Fan_Btn); Get_Text = (TextView) findViewById(R.id.Get_Text); Zheng_Btn.setOnClickListener(this); Fan_Btn.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.Zheng_Btn: String addr = Addr_Edit.getText().toString().trim(); if (addr.isEmpty()) { Toast.makeText(this, "请输入地址", Toast.LENGTH_SHORT).show(); return; } //参数1:addr 地址值 参数2:规定一个区域 GeocodeQuery query = new GeocodeQuery(addr, null); geocodeSearch.getFromLocationNameAsyn(query); break; case R.id.Fan_Btn: String jingdu = JinDU_Edit.getText().toString().trim(); String weidu = WeiDu_Edit.getText().toString().trim(); if (jingdu.isEmpty() || weidu.isEmpty()) { Toast.makeText(this, "请输入经纬度", Toast.LENGTH_SHORT).show(); return; } //这个是经纬度查询的类 LatLonPoint point = new LatLonPoint(Double.parseDouble(jingdu), Double.parseDouble(weidu)); RegeocodeQuery regeocodeQuery = new RegeocodeQuery(point, 2000000000, GeocodeSearch.AMAP); GeocodeSearch reSe = new GeocodeSearch(this); reSe.setOnGeocodeSearchListener(new GeocodeSearch.OnGeocodeSearchListener() { @Override public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) { Log.e("onRegeocodeSearched", "onRegeocodeSearched"); RegeocodeAddress address = regeocodeResult.getRegeocodeAddress(); Get_Text.setText(address.getFormatAddress()+"地址"); } @Override public void onGeocodeSearched(GeocodeResult geocodeResult, int i) { } }); geocodeSearch.getFromLocationAsyn(regeocodeQuery); break; } } //把经纬度转换成地址 @Override public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) { Log.e("onRegeocodeSearched", "onRegeocodeSearched"); RegeocodeAddress address = regeocodeResult.getRegeocodeAddress(); Get_Text.setText(address.getFormatAddress()); } //是吧地址转换成经度纬度 @Override public void onGeocodeSearched(GeocodeResult geocodeResult, int i) { Log.e("onGeocodeSearched", "onGeocodeSearched"); //从查出来的结果集 得到地址对象 GeocodeAddress address = geocodeResult.getGeocodeAddressList().get(0); //从地址对象里面得到 经纬度的类 LatLonPoint latLonPoint = address.getLatLonPoint(); //从这个point取经纬度即可 Get_Text.setText("经度是:" + latLonPoint.getLongitude() + ",纬度是:" + latLonPoint.getLatitude()); } }
反编译的xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" tools:context=".AddrChangeActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:weightSum="4"> <EditText android:id="@+id/Addr_Edit" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2.5" android:hint="请输入地址" /> <Button android:id="@+id/Zheng_Btn" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1.5" android:text="解析" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:weightSum="4"> <EditText android:id="@+id/JinDU_Edit" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1.5" android:hint="输入经度" /> <EditText android:id="@+id/WeiDu_Edit" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1.5" android:hint="输入纬度" /> <Button android:id="@+id/Fan_Btn" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="反向解析" /> </LinearLayout> <TextView android:id="@+id/Get_Text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="memeda" /> </LinearLayout>
以上;
-
android 高德地图导航demo
2013-08-09 10:23:55android 高德地图导航demo -
高德地图demo
2018-03-26 10:11:251、需要有注册的key值和SDK 详情见:... ...2、简单的高德地图代码 其中build.gradle、清单文件、jar包尤其重要 >1 build.gradle中: apply plugin: 'com.android.application'1、需要有注册的key值和SDK
详情见:https://blog.csdn.net/LuoXiaoBin88/article/details/66971270
2、简单的高德地图代码
其中build.gradle、清单文件、jar包尤其重要
>1
build.gradle中:
apply plugin: 'com.android.application' android { compileSdkVersion 26 sourceSets{ main{ jniLibs.srcDirs=['libs'] } } defaultConfig { applicationId "com.example.gaode" minSdkVersion 16 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' implementation files('libs/AMap3DMap_6.0.1_AMapSearch_5.7.0_20180309.jar') }
其中的
sourceSets{ main{ jniLibs.srcDirs=['libs'] } }
必须要有,否则打开后会有黑屏现象
>2
清单文件中的权限、和key的位置
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.bwei.demo.day16_demo"> <!--允许程序打开网络套接字--> <uses-permission android:name="android.permission.INTERNET" /> <!--允许程序设置内置sd卡的写权限--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--允许程序获取网络状态--> <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.READ_PHONE_STATE" /> <!--允许程序访问CellID或WiFi热点来获取粗略的位置--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.amap.api.v2.apikey" android:value="dadca1153a64486bc2e26f0d65a2c644"> //开发者申请的key </meta-data> </application> </manifest>
>3 导入jar包
SDK下载地址见1
>4
MainActivity中:
package com.bwei.demo.day16_demo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.amap.api.maps.MapView; public class MainActivity extends AppCompatActivity { MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取地图控件引用 mMapView = (MapView) findViewById(R.id.map); //在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图 mMapView.onCreate(savedInstanceState); } @Override protected void onDestroy() { super.onDestroy(); //在activity执行onDestroy时执行mMapView.onDestroy(),销毁地图 mMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); //在activity执行onResume时执行mMapView.onResume (),重新绘制加载地图 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); //在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制 mMapView.onPause(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); //在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态 mMapView.onSaveInstanceState(outState); } }
>5
布局文件中:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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="com.example.gaode.MainActivity"> <com.amap.api.maps.MapView android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent"> </com.amap.api.maps.MapView> </LinearLayout>
-
Android 高德地图入门demo,最新高德地图实现方法,附源码及apk
2016-08-16 10:40:53Android 高德地图入门demo,最新高德地图实现方法,附源码及apk -
高德地图-运行Android-Demo
2018-07-19 10:08:28高德地图-Android开发环境配置说明DEMO,定位,导航...... -
Android高德地图周边demo
2018-08-29 18:59:58该项目内含源代码+可执行程序+文档,核心代码主要实现地图周边功能, 项目需要自己在高德后台申请属于自己的key,然后再重新运行后就可看到效果了。 -
高德地图轨迹回放Demo(Android)
2014-12-10 00:14:54高德地图上,沿着折现覆盖物移动的动画,实现了轨迹回放的功能,仅供参考。 -
Android Studio跑高德地图的demo失败
2019-11-12 20:27:05今天想试一下运行高德地图的demo,把压缩包下载好后解压,用Android Stuidio打开,一开始构建项目没有问题 ![图片说明]... -
Android开发 高德地图SDK检索关键字demo
2019-11-28 13:57:20Android开发,实现高德地图搜索关键字,并添加Marker图标,接入非常快捷,轻量不占内存,搜索显示搜索结果。高德资源图片经纬度,地址 -
Android高德地图POI搜索地点Demo
2017-08-23 17:32:48自己参考高德地图API文档做的POI搜索地点的例子,显示锚点和锚点位置信息,且锚点显示的位置信息可以随着锚点在地图上位置的变化而变化 -
Android高德地图POI搜索地点Demo2
2018-10-27 17:56:09自己参考高德地图API文档做的POI搜索地点的例子,显示锚点和锚点位置信息,且锚点显示的位置信息可以随着锚点在地图上位置的变化而变化,这一版和上一版基本一致,没办法免费了,所以设置1分,有需要我账号中任意... -
关于Android高德地图的简单开发实例代码(DEMO)
2020-09-01 06:36:55高德地图在日常生活中经常会用到,那么基于代码如何实现高德地图呢?下面小编给大家分享一个demo帮助大家学习android高德地图的简单开发,需要的朋友参考下 -
Android项目源码高德地图全功能演示demo.zip
2019-07-10 20:07:45一个高德地图的demo,演示了基本地图的使用、supportmapfragment创建地图、camera功能、events功能、layers图层功能、热力图功能、地图POI点击功能、地图截屏功能、openg接口功能、polylines功能、polygons功能、arc... -
最新基于高德地图的android进阶开发(2)小试牛刀
2016-07-18 11:13:51还没有MAP key,可以参考上一篇文章最新基于高德地图的android进阶开发(1),上一篇说到下载地图SDK,选择的是一键下载,下载完后解压,包含文件如下图中所示,第一次解压是三个压缩包,还有一个demo文件夹,进一步...1、如果你是一个新的开发者,还没有MAP key,可以参考上一篇文章最新基于高德地图的android进阶开发(1),上一篇说到下载地图SDK,选择的是一键下载,下载完后解压,包含文件如下图中所示,第一次解压是三个压缩包,还有一个demo文件夹,进一步解压会出现下面所示的jar开发包。
2.上面下载的SDK,主要包括下面的功能,1.3D地图,2.2D地图 ,3.搜索服务。相关API连接:http://a.amap.com/lbs/static/unzip/Android_Map_Doc/index.html与android studio开发结合进行android 开发,在android studio中添加第三方JAR包的方法,下面以地图开发为例,将jar包复制到android应用的app/libs/目录下,切换成project面板,然后选中这两个jar包点击右键,选择add As library,这样就将jar加到了应用中。
3.添加.so文件的方法,至少有两种方式,下图显示方式1
下面展示方式2,将arm64-v8a 和armeabi放到libs下,并配置build gradel文件,如下图中所示
下面是build gradel文件
apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.3" //注意下面是必须的 sourceSets { main { jniLibs.srcDirs = ['libs'] } } defaultConfig { applicationId "com.dragon.arnav" minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' compile files('libs/AMap_3DMap_V3.3.2_20160525.jar') compile files('libs/AMap_Search_V3.3.0_20160616.jar') compile files('libs/AMap_2DMap_V2.9.0_20160525.jar') }
3.配置权限和相应有的key ,下面显示androidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.dragon.arnav"> <!--添加对应有权限--> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_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" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <!--启动高德地图服务,下面的value不要照着输入,请输入你申请是的apikey value--> <meta-data android:name="com.amap.api.v2.apikey" android:value="fc5d4be7c65a05064dd552395ae46bdb"/> <!--android:configChanges="orientation|keyboardHidden|screenSize"这句是支持横竖屏切换,要求系统4.0以上--> <activity android:name=".Main" android:configChanges="orientation|keyboardHidden|screenSize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
4.所有的文件和权限弄完后,下面开始布局文件,main.xml
<?xml version="1.0" encoding="utf-8"?> <FrameLayout 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="com.dragon.arnav.Main"> <!--使用高德地图提供的Map View--> <com.amap.api.maps.MapView android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent"/> <ToggleButton android:id="@+id/tb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top|right" android:textOn="卫星地图" android:textOff="普通地图" android:checked="false"/> </FrameLayout>
5.hello map,主要代码main.java
package com.dragon.arnav; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.CompoundButton; import android.widget.ToggleButton; import com.amap.api.maps.AMap; import com.amap.api.maps.MapView; public class Main extends AppCompatActivity { private MapView mapView; private AMap aMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mapView = (MapView) findViewById(R.id.map); // 必须回调MapView的onCreate()方法 mapView.onCreate(savedInstanceState); init(); ToggleButton tb = (ToggleButton) findViewById(R.id.tb); tb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton buttonView,boolean isChecked){ if(isChecked){ aMap.setMapType(AMap.MAP_TYPE_SATELLITE); } else { aMap.setMapType(AMap.MAP_TYPE_NORMAL); } } }); } //初始化AMap对象 private void init(){ if(aMap ==null){ aMap = mapView.getMap(); } } @Override protected void onResume(){ super.onResume(); mapView.onResume(); } @Override protected void onPause(){ super.onPause(); mapView.onPause(); } @Override protected void onSaveInstanceState(Bundle outState){ super.onSaveInstanceState(outState); mapView.onSaveInstanceState(outState); } @Override protected void onDestroy(){ super.onDestroy(); mapView.onDestroy(); } }
6.完成效果图预览
7.欢迎大家加入AR、VR开发群和关注AR引路人公众号
-
android 高德地图的接入的demo
2018-10-18 13:40:56import android.content.Context; import android.content.Intent; import android.graphics.BitmapFactory; import android.graphics.Color; import android.os.Bundle; import android.support.annotation... -
Android 整合高德地图
2018-06-28 17:36:52如果想要在自己的项目中整合进高德,第一步就是要看看人家写的demo,所以首先 下载高德的demo http://lbs.amap.com/api/android-sdk/download 下载完以后包含4个文件夹,其中2DMap包含了我们平时用到的很多功能... -
android高德地图绘制多边形_使用高德地图绘制多边形区域 (转)
2021-03-07 15:27:59看了一下高德地图的jsapi,简单的做了一个demo。1.你需要一个高德地图的账号,注册地址2.登陆进去创建一个应用,这个时候就会给你一个对应的Key3.查看高德地图的的demo,进入4.学习一下左侧分类里面的5.看完上面的,... -
Android高德地图
2018-12-20 10:31:57权限 <?xml version="1.0" encoding="utf-8"?> ...manifest xmlns:android="...com.example.demo1_scott"> <uses-permission android:na -
高德地图-AndroidStadio-No implementation found for long ...
2016-05-23 13:11:00当用高德地图集成到AndroidStaio的时候,根据高德提供的Demo 发生以下bug java.lang.UnsatisfiedLinkError: No implementation found for long com.autonavi.amap.mapcore.MapCore.nativeNewInstance(java.... -
Android高德地图开发具体解释
2016-01-03 09:47:00对我开发过百度地图的我来说,整体来说高德地图Demo,没有百度解说的具体 个人更偏向于使用百度地图,可是没办发,项目须要使用高德地图,我开发的是定位,更具经纬度加入标记。标记点击事件,以及路线规划废话不多... -
android调用高德地图定位
2019-09-06 19:22:031.本篇博客的目的: 闲的没事,重温一下高德地图是怎么调的,然后定位显示一下...去官方demo里面找,本篇博客是高德地图入门级demo 1.App实现效果图: 2.项目结构图: 3.注册高德开放平台账号,申请key 高... -
Android之高德地图定位
2016-05-09 21:17:05写完以后会将源码开源,今天先写app中用到的定位问题,现在定位的SDK有很多高德地图、百度地图、腾讯地图等,腾讯地图没有用过不予评价,高德地图和百度地图对比我觉得从开发平台的给的demo来说,高德地图给的demo中... -
Android 外部调起高德地图显示坐标点 自定义 标注高德地图 by Terry
2016-12-12 17:39:13下载链接: 点击下载demo ...其实这个动作很简单,但是,高德地图API开发文档把这一块藏得太隐蔽了。不太好找。 就几行代码。 Intent i = new Intent(); i.setAction("android.intent.action.V -
Android 高德地图不显示问题
2018-03-01 17:52:00很久没有接触高德地图了,今天小菜接到新需求要用到高德地图,具体的方式链到官网上。高德地图官方集成方式,很简单,步骤很清晰。但是,但是,但是,小菜集成之后进入地图显示黑屏,有放大缩小按钮,有高德地图的...