android百度地图怎么在点击地图时获取点击的详细地址信息,下面是我写的代码求大神帮帮看看!!!

cst11041 cst11041 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
package com.pc.myappdemo.ui.mall;

import android.os.Bundle;
import android.view.View;

import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.MapPoi;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.Marker;
import com.baidu.mapapi.map.MarkerOptions;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.model.LatLng;
import com.pc.myappdemo.R;
import com.pc.myappdemo.base.BaseActivity;
import com.pc.myappdemo.share.weibo.models.GeoList;
import com.pc.myappdemo.utils.Consts;
import com.pc.myappdemo.view.MyActionBar;

import butterknife.InjectView;

/**
* Created by Administrator on 2015/11/4.
*/
public class MallTestMap extends BaseActivity
{
@InjectView(R.id.supplier_map_actionbar)
MyActionBar singleActionBar;
@InjectView(R.id.supplier_map_mv)
MapView mapView;
BaiduMap mBaiduMap;
String lat;
String lon;
private BitmapDescriptor bitmap;
BitmapDescriptor bdB = BitmapDescriptorFactory
.fromResource(R.drawable.icon_gcoding);
LocationClient mLocClient;
private boolean isFirstLoc = true;
private Marker mMarkerA;
private Marker mMarkerB;
private String address= "";
private MapView mMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mall_test_map);
injectViews();
initActionBar();

lat = getIntent().getStringExtra(Consts.EXTRA_LATUTIDE);
lon = getIntent().getStringExtra(Consts.EXTRA_LONGITUDE);

mBaiduMap = mapView.getMap();

// mBaiduMap.clear();
// 设置marker图标
bitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding);
final LatLng llA = new LatLng(Double.valueOf(lat), Double.valueOf(lon));
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(llA);
markerOptions.zIndex(9);
initLoc();


SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.mall_test_map);

// 获取地图控件引用 
mMapView = (MapView) findViewById(R.id.supplier_map_mv);
mBaiduMap = mMapView.getMap();
//设置是否显示比例尺控件 
mMapView.showScaleControl(false);
//设置是否显示缩放控件 
mMapView.showZoomControls(false);

mBaiduMap.setOnMapClickListener(new BaiduMap.OnMapClickListener() {

@Override
public boolean onMapPoiClick(MapPoi arg0) {
// TODO Auto-generated method stub
return false;
}
//此方法就是点击地图监听
@Override
public void onMapClick(LatLng latLng) {
//获取经纬度
double latitude = latLng.latitude;
double longitude = latLng.longitude;
System.out.println("latitude=" + latitude + ",longitude=" + longitude);
//先清除图层
mBaiduMap.clear();
// 定义Maker坐标点
LatLng point = new LatLng(latitude, longitude);
// 构建MarkerOption,用于在地图上添加Marker
MarkerOptions options = new MarkerOptions().position(point)
.icon(bitmap);
// 在地图上添加Marker,并显示
mBaiduMap.addOverlay(options);

}
});
}


private void initLoc() {

// 开启定位图层
mBaiduMap.setMyLocationEnabled(true);
// 定位初始化
mLocClient = new LocationClient(this);
mLocClient.registerLocationListener(new MyLocationListenner());
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true);// 打开gps
option.setAddrType("all");
option.setCoorType("bd09ll"); // 设置坐标类型
option.setScanSpan(1000);
option.setIsNeedAddress(true);// 中文地址
mLocClient.setLocOption(option);
mLocClient.start();

}

private void initActionBar() {
singleActionBar.setOnBackClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MallTestMap.this.finish();
}
});
}

@Override
protected void onDestroy() {
mBaiduMap.setMyLocationEnabled(false);
mapView.onDestroy();
super.onDestroy();
}


/**
* 定位SDK监听函数
*/
public class MyLocationListenner implements BDLocationListener {

@Override
public void onReceiveLocation(BDLocation location) {
// map view 销毁后不在处理新接收的位置
if (location == null || mapView == null)
return;
MyLocationData locData = new MyLocationData.Builder()
.accuracy(location.getRadius())
// 此处设置开发者获取到的方向信息,顺时针0-360
.direction(10).latitude(location.getLatitude())
.longitude(location.getLongitude()).build();
mBaiduMap.setMyLocationData(locData);
if (isFirstLoc) {
isFirstLoc = false;
LatLng ll = new LatLng(location.getLatitude(),
location.getLongitude());
MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(ll);
mBaiduMap.animateMapStatus(u);
}

mLocClient.stop();

}

}

}
...全文

相关推荐

android安卓百度地图开发,实现输入起点、目标地址实现导航

代码通常会有详细的注释,方便初学者理解每个部分的作用。总之,通过百度地图SDK,开发者可以轻松地在Android应用中实现导航功能,结合用户输入的起点和目标地址,提供实时的路线规划和导航指示。

Aleck_

使用百度地图API进行Android设备定位及获取地址信息

百度地图SDK提供丰富的图层类型,如热力图、公交线路图层等,以满足开发者不同的展示需求。图层的自定义允许开发者根据应用特点和用户习惯定制界面。// 添加热力图图层// 添加公交线路图层。

已退乎

android 基于百度地图api开发定位以及获取详细地址

(); mapView.onDestroy();}```通过以上步骤,我们就实现了Android应用中基于百度地图API的基本定位功能,并获取到了详细的地址信息。

weixin_38669628

Android 百度地图获取定位信息并实时传给后台

以上就是“Android百度地图获取定位信息并实时传给后台”这一主题的主要技术点。通过实践这个案例,开发者可以深入了解Android定位服务、百度地图SDK的使用以及如何进行后台数据传输。

cyt_victory

Android百度地图的搜索及附近地址的检索

在处理搜索结果时,通常会展示在一个列表或者自定义视图中,用户可以点击查看详细信息或者导航。对于导航功能,百度地图API提供了路径规划服务,根据起始点和目的地计算最优路线。

吃兔子的大青菜
评论 1
收藏 已收藏
分享
返回顶部
cst11041
Android 80,490 成员 91,375 内容