android---高德地图(3)点击获得目的经纬度,地理编码
来源:互联网 发布:2017网络虚假新闻案例 编辑:程序博客网 时间:2024/06/09 16:48
点击获得目的地经纬度,利用经纬度将目的地编码获得目的地的名称
package com.amapv2.apis.basic; //包名,需要修改
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.TextView;
import com.amap.api.maps.AMap;
import com.amap.api.maps.AMap.OnCameraChangeListener;
import com.amap.api.maps.AMap.OnMapClickListener;
import com.amap.api.maps.AMap.OnMapLongClickListener;
import com.amap.api.maps.AMap.OnMapTouchListener;
import com.amap.api.maps.MapView;
import com.amap.api.maps.model.CameraPosition;
import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.LatLngBounds;
import com.amap.api.maps.model.VisibleRegion;
import com.amapv2.apis.R;
import com.amapv2.apis.util.Constants;
import com.amapv2.apis.util.ToastUtil;
/**
* AMapV2地图中简单介绍OnMapClickListener, OnMapLongClickListener,
* OnCameraChangeListener、OnMapTouchListener四种监听器用法
*/
public class EventsActivity extends Activity implements OnMapClickListener,
OnMapLongClickListener, OnCameraChangeListener,OnMapTouchListener,OnGeocodeSearchListener{
private AMap aMap;
private MapView mapView;
private TextView mTapTextView;
private TextView mCameraTextView;
private TextView mTouchTextView;
private String destination; //目的地的字符串
private GeocodeSearch geocoderSearch; //地理编码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.events_activity);
mapView = (MapView) findViewById(R.id.map);
mapView.onCreate(savedInstanceState);// 此方法必须重写
//地理编码事件监听
geocoderSearch = new GeocodeSearch(this);
geocoderSearch.setOnGeocodeSearchListener(this);
init();
}
/**
* 初始化AMap对象
*/
private void init() {
if (aMap == null) {
aMap = mapView.getMap();
setUpMap();
}
mTapTextView = (TextView) findViewById(R.id.tap_text);
mCameraTextView = (TextView) findViewById(R.id.camera_text);
mTouchTextView = (TextView) findViewById(R.id.touch_text);
}
/**
* amap添加一些事件监听器
*/
private void setUpMap() {
aMap.setOnMapClickListener(this);// 对amap添加单击地图事件监听器
aMap.setOnMapLongClickListener(this);// 对amap添加长按地图事件监听器
aMap.setOnCameraChangeListener(this);// 对amap添加移动地图事件监听器
aMap.setOnMapTouchListener(this);// 对amap添加触摸地图事件监听器
}
/**
* 方法必须重写
*/
@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();
}
/**
* 对单击地图事件回调
*/
@Override
public void onMapClick(LatLng point) {
mTapTextView.setText("tapped, point=" + point);
}
/**
* 对长按地图事件回调
*/
@Override
public void onMapLongClick(LatLng point) {
mTapTextView.setText("long pressed, point=" + point);
}
/**
* 对正在移动地图事件回调
*/
@Override
public void onCameraChange(CameraPosition cameraPosition) {
mCameraTextView.setText("onCameraChange:" + cameraPosition.toString());
}
/**
* 对移动地图结束事件回调
*/
@Override
public void onCameraChangeFinish(CameraPosition cameraPosition) {
mCameraTextView.setText("onCameraChangeFinish:"
+ cameraPosition.toString());
VisibleRegion visibleRegion = aMap.getProjection().getVisibleRegion(); // 获取可视区域、
LatLngBounds latLngBounds = visibleRegion.latLngBounds;// 获取可视区域的Bounds
boolean isContain = latLngBounds.contains(Constants.SHANGHAI);// 判断上海经纬度是否包括在当前地图可见区域
if (isContain) {
ToastUtil.show(EventsActivity.this, "上海市在地图当前可见区域内");
} else {
ToastUtil.show(EventsActivity.this, "上海市超出地图当前可见区域");
}
}
/**
* 对触摸地图事件回调
*/
@Override
public void onTouch(MotionEvent event) {
mTouchTextView.setText("触摸事件:屏幕位置"+event.getY()+" "+event.getY());
}
//地理逆编码回调函数
} //地理逆编码回调函数
@Override
public void onGeocodeSearched(GeocodeResult arg0, int arg1) {
// TODO Auto-generated method stub
}
//地理编码回调函数
@Override
public void onRegeocodeSearched(RegeocodeResult result, int resultcode) {
// TODO Auto-generated method stub
if(resultcode == 0)
{
if(result != null && result.getRegeocodeAddress() != null
&& result.getRegeocodeAddress().getFormatAddress() != null)
{
destination = result.getRegeocodeAddress().getFormatAddress(); //获得目的地名称
}
}
}
0 0
- android---高德地图(3)点击获得目的经纬度,地理编码
- Android高德地图输入地址利用正地理编码获取经纬度
- 高德地图-根据经纬度获取地址(逆地理编码)
- Android高德地图设置中心点图标,通过逆地理编码实时获取中心点的经纬度和详细位置
- Android 高德地图点击地图获取经纬度
- 高德地图android sdk 逆地理编码 基本使用方法
- 高德地图 正向地理编码 逆向地理编码
- 高德地图地理编码和逆地理编码
- 高德地图之地理编码
- 高德地图之逆地理编码
- 基于高德地图的地理编码
- 高德地图-Android-逆地理转换:经纬度转换成地址
- 高德地图-Android-逆地理转换:经纬度转换成地址
- Android高德地图(二)逆地理编码、poi搜索
- 高德地图地理码和经纬度转化(latlng和latlonpoint)
- 高德地图api JavaScript鼠标点击获取地图经纬度
- android嵌入高德地图(二),实现行政区域边界,区域内点击,获得详细地址
- 高德地图地理编码和逆地理编码,以及逆地理编码的时候如何去掉省、市、镇
- android---高德地图(4)路线规划
- mysql 空间计算
- 剑指offer(39):数字在排序数组中出现的次数
- [转]JAVA String 类
- Android Glide图片加载框架图片变色变绿解决方法
- android---高德地图(3)点击获得目的经纬度,地理编码
- Codeforces Beta Round #19D. Points
- tez跑任务报错
- 详解css中relative,absolute,float用法
- 全文索引----solr客户端工具solrJ
- android---高德地图(2)---定位-显示小蓝点
- HDU - 4277 USACO ORZ (set判重+dfs)好题
- 带动画效果的三方欢迎界面
- android---高德地图(1)---显示一张简单地图