高德地图七:根据地址定位

实例效果图:

代码实现:
layout/activity_main.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"><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center_horizontal"><TextViewandroid:text="地址:"android:layout_width="wrap_content"android:layout_height="wrap_content"/><!-- 定义输入地址的文本框 --><EditTextandroid:id="@+id/address"android:inputType="text"android:text="沣宏大厦"android:textSize="14sp"android:layout_width="240dp"android:layout_height="wrap_content" /><Buttonandroid:id="@+id/loc"android:text="定位"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="4" /></LinearLayout><!-- 使用高德地图的提供的MapView --><com.amap.api.maps.MapViewandroid:id="@+id/map"android:layout_width="match_parent"android:layout_height="match_parent" />
</LinearLayout>

com/example/administrator/MainActivity.java

package com.example.administrator;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;import com.amap.api.maps.AMap;
import com.amap.api.maps.CameraUpdate;
import com.amap.api.maps.CameraUpdateFactory;
import com.amap.api.maps.MapView;
import com.amap.api.maps.model.BitmapDescriptorFactory;
import com.amap.api.maps.model.CircleOptions;
import com.amap.api.maps.model.GroundOverlayOptions;
import com.amap.api.maps.model.LatLng;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.geocoder.GeocodeAddress;
import com.amap.api.services.geocoder.GeocodeQuery;
import com.amap.api.services.geocoder.GeocodeResult;
import com.amap.api.services.geocoder.GeocodeSearch;
import com.amap.api.services.geocoder.RegeocodeResult;public class MainActivity extends Activity implements GeocodeSearch.OnGeocodeSearchListener {private MapView mapView;private AMap aMap;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mapView = (MapView) findViewById(R.id.map);// 必须回调MapView的onCreate()方法mapView.onCreate(savedInstanceState);init();Button bn = (Button) findViewById(R.id.loc);final TextView addrTv = (TextView) findViewById(R.id.address);bn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String addr = addrTv.getText().toString();if (addr.equals("")) {Toast.makeText(MainActivity.this, "请输入有效的地址", Toast.LENGTH_LONG).show();} else {GeocodeSearch search = new GeocodeSearch(MainActivity.this);search.setOnGeocodeSearchListener(MainActivity.this);GeocodeQuery query = new GeocodeQuery(addr, "");//空表示全国// 根据地址执行异步地址解析search.getFromLocationNameAsyn(query);  // ①}}});}// 初始化AMap对象private void init() {if (aMap == null) {aMap = mapView.getMap();// 创建一个设置放大级别的CameraUpdateCameraUpdate cu = CameraUpdateFactory.zoomTo(16);// 设置地图的默认放大级别aMap.moveCamera(cu);}}@Overrideprotected void onResume() {super.onResume();// 必须回调MapView的onResume()方法mapView.onResume();}@Overrideprotected void onPause() {super.onPause();// 必须回调MapView的onPause()方法mapView.onPause();}@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);// 必须回调MapView的onSaveInstanceState()方法mapView.onSaveInstanceState(outState);}@Overrideprotected void onDestroy() {super.onDestroy();// 必须回调MapView的onDestroy()方法mapView.onDestroy();}@Overridepublic void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {}@Overridepublic void onGeocodeSearched(GeocodeResult geocodeResult, int i) {// 获取解析得到的第一个地址GeocodeAddress geo = geocodeResult.getGeocodeAddressList().get(0);// 获取解析得到的经纬度LatLonPoint pos = geo.getLatLonPoint();LatLng targetPos = new LatLng(pos.getLatitude(), pos.getLongitude());// 创建一个设置经纬度的CameraUpdateCameraUpdate cu = CameraUpdateFactory.changeLatLng(targetPos);// 更新地图的显示区域aMap.moveCamera(cu);// 创建一个GroundOverlayOptions(用于向地图上添加图片)GroundOverlayOptions options = new GroundOverlayOptions()// 设置GroundOverlayOptions包装的图片.image(BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher)).position(targetPos, 64);// 添加图片aMap.addGroundOverlay(options);// 创建一个CircleOptions(用于向地图上添加圆形)CircleOptions cOptions = new CircleOptions().center(targetPos)  // 设置圆心.fillColor(0x80ffff00)  // 设置圆形的填充颜色.radius(80)  // 设置圆形的半径.strokeWidth(1)  // 设置圆形的线条宽度.strokeColor(0xff000000);  // 设置圆形的线条颜色aMap.addCircle(cOptions);}private void GroundOverlayOptions() {}
}

高德地图七:根据地址定位相关推荐

  1. 高德地图地位获取地址

    高德地图地位获取地址 高德地图开发平台地址:https://lbs.amap.com/ 1导入依赖库 implementation 'com.amap.api:location:4.4.0' 2权限 ...

  2. Android使用高德地图api实现基础定位

    Android使用高德地图api实现基础定位(一) 关于 会获取SHA1的可自行跳过这一步 第二步引用高德sdk 第三步修改MainActivity.java 关于 这篇主要讲如何使用高德sdk(不是 ...

  3. 【应用】Python利用高德地图经纬度数据绘制定位

    [应用]Python利用高德地图经纬度数据绘制定位 一. 背景 二. 获取API 1. 注册高德开放平台个人开发者 2. 获取key 三. 具体步骤 1. 库的导入 2. 根据地址获取经纬度 3. 绘 ...

  4. android开发之高德地图API篇:1、高德地图API之实时定位+轨迹可视化

    TIME:2020年7月6日 高德地图API之实时定位+轨迹可视化 前言: step1.工程的配置 step2.显示地图 step2.实现静态定位: step3.实时定位 step4.实现轨迹可视化: ...

  5. java使用高德地图根据IP地址获取城市

    话不多说!直奔主题 既然是根据IP,首先肯定是先要获取IP地址的,以下代码是获取IP地址,部署到服务器上去后会获取到公网的IP不是服务器的本机IP:是通过HttpServletRequest获取 注: ...

  6. 高德地图八:手机定位和GPS定位

    高德地图八:手机定位和GPS定位 高德地图八:手机定位和GPS定位 代码实现: layout/activity_main.xml <?xml version="1.0" en ...

  7. android高德地图轨迹偏纠,GitHub - YangHaoyi/DrawTraceDemo: 高德地图轨迹回放带定位纠偏加彩虹渐变线...

    DrawTraceDemo 高德地图轨迹回放带定位纠偏加彩虹渐变线 由于高德自身持续定位存在偏移状况,故摒弃了高德自身的定位点,改用自定义marker点作为定位点 加注轨迹纠偏函数,根据时间判定此次移 ...

  8. 高德地图API之IP定位

    高德地图API之IP定位(替换你的KEY) IP定位API:http://lbs.amap.com/api/webservice/guide/api/ipconfig package com.gdma ...

  9. 利用高德地图和腾讯地图的详细地址定位

    今天要说的基于浏览器的定位,是通过高德地图通过浏览器定位来获取经纬度,然后利用腾讯地图的逆地址解析,将经纬度解析为详细的地址,使用高德地图时,需要先去高德开发者平台申请key码. 代码如下: < ...

最新文章

  1. mysql 索引合并
  2. 图片验证码把我逼成了人工智障
  3. BZOJ 1460 Pku2114 Boatherds
  4. 机器学习-决策树(Decision Tree)
  5. 优化的交换排序(冒泡排序)_C程序实现优化的冒泡排序
  6. (原創) 如何将字符串前后的空白去除? (使用string.find_first_not_of, string.find_last_not_of) (C/C++)...
  7. C++管道通信类封装
  8. SD卡在SPI模式下的初始化和详细的代码分析
  9. LPC1758串口ISP下载程序
  10. HDU 5536 字典树
  11. 18. 避免使用vectorbool
  12. toast弹窗_弹窗功能解析amp;设计指南 | 为弹窗正名
  13. 1302数码管c语言程序,基于AVR单片机的DS1302数码管时间显示C语言程序设计
  14. IP错误引起MongoDB副本集初始化失败
  15. AndroidFTP客户端-FTP管家源码
  16. 前端几种语言和技术的概述
  17. 冒泡排序和插入排序傻傻分不清
  18. Docker基本操作五 (挂载数据卷)
  19. 《Unity Shader入门精要》 第五章 开始学习Unity Shader之旅 笔记
  20. 网易云音乐用户微观洞察精细化运营

热门文章

  1. Hive数据模型是什么?
  2. Tomcat启动错误PermGen space
  3. VS2010 正在下载公共符号system.dll 解决办法
  4. 蓝桥杯题目——带分数
  5. java除法计算保留2位小数
  6. Get计算机视觉核心知识,看这本书就够了(中秋福利赠送!!!)
  7. mysql聚合函数统计_mysql学习-mysql聚合函数和分组统计
  8. 达梦数据库schema管理
  9. sql in语句排序 INSTR函数排序用法 结果集list排序
  10. 67页新型智慧城市整体规划建设方案(附下载)