有没有android4.4源码下载百度地图源码呢,可以获取经纬度的,求各位了

百度地图获取当前的经纬度 - 下载频道 - CSDN.NET
&&&&百度地图获取当前的经纬度
&百度地图获取当前的经纬度
该资源实现了一个用百度地图实现的获取当前位置的经纬度的apk,的简单应用,简单易懂,喜欢的下载!!
若举报审核通过,可奖励20下载分
被举报人:
mockingbirds
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
评价资源返积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
移动开发下载排行
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
百度地图获取当前的经纬度
所需积分:3
剩余积分:
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
VIP服务公告:求一个android百度地图源码,可以获取经纬度的_百度知道
求一个android百度地图源码,可以获取经纬度的
提问者采纳
我有.等下联系你
提问者评价
谢谢你的源码
其他类似问题
按默认排序
其他1条回答
: http:&密码:/**&nbsp:&nbsp:链接;y+&像素坐标转换为地址坐标GeoPoint&=&nbsp,&0);Toast:链接;return&nbsp://这些文件你也可能用到;y).makeText(y&(int)&x&nbsp./s/1nthy0C5 密码;7bj8希望你满意;+&;<a href="(int)&/s/1jGEE9oi 密码;//&nbsp://pan.show(): xli6so文件,&nbsp.pt&nbsp://pan:地图API://pan.getLatitudeE6()+pt:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁近由于项目需要,研究了下百度地图定位,他们提供的实例基本都是用监听器实现自动定位的。我想实现一种效果:当用户进入UI时,不定位,用户需要定位的时候,自己手动点击按钮,再去定位当前位置。& 经过2天研究和咨询,找到了解决方案,在此备忘一下。&& 注意:定位使用真机才能够真正定位;模拟器的话,在DDMS中的Emulator Control中,选择Manual,下面单选按钮选择Decimal,然后填写经纬度,send后,再点击定位我的位置按钮,就能定位了(这应该算是固定定位,哈哈。。。)、&&&&&&&& 1、第一步当然是获取一个针对自己项目的key值。/wiki/static/imap/key/2、使用百度API是有前提的,摘自百度:首先将API包括的两个文件baidumapapi.jar和 libBMapApiEngine.so拷贝到工程根目录及libs\armeabi目录下,并在工程属性-&Java Build Path-&Libraries中选择&Add JARs&,选定baidumapapi.jar,确定后返回,这样您就可以在您的程序中使用API了。(这两个文件见附件)。3、按照自己的需求写一个layout,我的如下:&&&& &?&LinearLayout&& & android:orientation="vertical"&& android:layout_width="fill_parent"&& android:layout_height="fill_parent"&& &&&&&& &TextView&&&&& android:id="@+id/myLocation_id"&&&&& android:layout_width="fill_parent"&&&&& android:layout_height="wrap_content"&&&& android:textSize="15dp"&&&& android:gravity="center_horizontal"&&&& android:textColor="@drawable/black"&&&& android:background="@drawable/gary"&&&& /&&&&&&&& &com.baidu.mapapi.MapView android:id="@+id/bmapsView"&&&& android:layout_width="fill_parent" android:layout_height="fill_parent"&&&&& android:clickable="true"& android:layout_weight="1"&&&&&& /&&&&&& &Button&&&&&&& android:layout_width="wrap_content"&&&&&&& android:layout_height="wrap_content"&&&&&&& android:id="@+id/location_button_id"&&&&&&& android:text="@string/location_button_text"&&& /&&&&&&&&/LinearLayout&&需要特别注意的是:&com.baidu.mapapi.MapView& /& 这玩意。4、写一个MapApplication实现application,提供全局的BMapManager,以及其初始化。Java代码public BMapManager mapManager =&static MapA&public String mStrKey = "你申请的key值";&&@Override&public void onCreate() {&&&& mapManager = new BMapManager(this);&&&& mapManager.init(mStrKey, new MyGeneralListener());&}&@Override&//建议在您app的退出之前调用mapadpi的destroy()函数,避免重复初始化带来的时间消耗&public void onTerminate() {&&&& // TODO Auto-generated method stub&&&& if(mapManager != null)&&&& {&&&&&&&& mapManager.destroy();&&&&&&&& mapManager =&&&& }&&&& super.onTerminate();&}&&static class MyGeneralListener implements MKGeneralListener{&&&&& @Override&&&& public void onGetNetworkState(int arg0) {&&&&&&&& Toast.makeText(MapApplication.app.getApplicationContext(), "您的网络出错啦!",&&&&&&&&&&&&&&&& Toast.LENGTH_LONG).show();&&&& }&&&& @Override&&&& public void onGetPermissionState(int iError) {&&&&&&&& if (iError ==& MKEvent.ERROR_PERMISSION_DENIED) {&&&&&&&&&&&& // 授权Key错误:&&&&&&&&&&&& Toast.makeText(MapApplication.app.getApplicationContext(),"您的授权Key不正确!",&&&&&&&&&&&&&&&&&&&& Toast.LENGTH_LONG).show();&&&&&&&& }&&&& }&}&5、接下来就是按照百度api写定位代码了,使用handler机制去添加定位图层,需要说明的都在注释上了。&&&&&&&& private BMapManager mBMapMan =&private MapView mMapView =&private MapController bMapC&private MKLocationManager mkLocationM&private MKSearch mkS&&private TextView address_&& //定位到的位置信息&&private ProgressD&private List&HotelInfo& hotelL&&private int distance = 1000;& //查询的范围(单位:m)&&&& Handler handler = new Handler(){&&&& @Override&&&& public void handleMessage(Message msg) {&&&&&&&&&&&&&&&&& double lat = msg.getData().getDouble("lat");&&&&&&&& double lon = msg.getData().getDouble("lon");&&&&&&&& if(lat!=0&&lon!=0){&&&&&&&&&&&& GeoPoint point = new GeoPoint(&&&&&&&&&&&&&&&&&&&& (int) (lat * 1E6),&&&&&&&&&&&&&&&&&&&& (int) (lon * 1E6));&&&&&&&&&&&& bMapController.animateTo(point);& //设置地图中心点&&&&&&&&&&&& bMapController.setZoom(15);&&&&&&&&&&&&&&&&&&&&&&&&& mkSearch.reverseGeocode(point);&& //解析地址(异步方法)&&&&&&&&&&&&&&&&&&&&&&&&& MyLocationOverlay myLoc = new MyLocationOverlayFromMap(ShowMapAct.this,mMapView);&&&&&&&&&&&& myLoc.enableMyLocation();&& // 启用定位&&&&&&&&&&&& myLoc.enableCompass();&&&&& // 启用指南针&&&&&&&&&&&& mMapView.getOverlays().add(myLoc);&&&&&&&& }else{&&&&&&&&&&&& Toast.makeText(ShowMapAct.this, "没有加载到您的位置", Toast.LENGTH_LONG).show();&&&&&&&& }&&&&&&&&&&&&&&&&& if(hotelList!=null){&&&&&&&&&&&& Drawable marker = getResources().getDrawable(R.drawable.iconmarka);& //设置marker&&&&&&&&&&&& marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());&& //为maker定义位置和边界&&&&&&&&&&&& mMapView.getOverlays().add(new OverItemList(marker,hotelList,ShowMapAct.this,bMapController));&&&&&&&& }else if(hotelList==null&&lat!=0&&lon!=0){&&&&&&&&&&&& Toast.makeText(ShowMapAct.this, "网络异常,没有获取到酒店信息。", Toast.LENGTH_LONG).show();&&&&&&&& }&&&&&&&& if(dialog!=null)& dialog.dismiss();&&&& }&& };&&@Override&protected void onCreate(Bundle savedInstanceState) {&&&&&&&&& distance = getIntent().getExtras().getInt("distance");&& //获取查询范围&&&&&&&&& super.onCreate(savedInstanceState);&&&& setContentView(R.layout.location);&&&&&&&&& mMapView = (MapView)findViewById(R.id.bmapsView);&& //初始化一个mapView& 存放Map&&&& init();& //初始化地图管理器&&&& super.initMapActivity(mBMapMan);&&&&&&&&&&&&&& address_view = (TextView)findViewById(R.id.myLocation_id);&&&& SpannableStringBuilder style = new SpannableStringBuilder(String.format(getResources().getString(R.string.location_text),"位置不详"));&&&& style.setSpan(new ForegroundColorSpan(Color.RED), 5, style.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);&&&& address_view.setText(style);&&&&&&&&& Button location_button = (Button)findViewById(R.id.location_button_id);&&&& location_button.setOnClickListener(new View.OnClickListener(){&&&&&&&& @Override&&&&&&&& public void onClick(View v) {&&&&&&&&&&&&& dialog = ProgressDialog.show(ShowMapAct.this, "", "数据加载中,请稍后.....");&&&&&&&&&&&&& new Thread(new MyThread()).start();&&&&&&&& }&&&& });&&&&&&&&& mkSearch = new MKSearch();&& //初始化一个MKSearch,根据location解析详细地址&&&& mkSearch.init(mBMapMan, this);&&&&&&& mMapView.setBuiltInZoomControls(true);&& //启用内置的缩放控件&&&&&&& bMapController = mMapView.getController();&&&&&&& GeoPoint defaultPoint = new GeoPoint((int) (39.920934 * 1E6),(int) (116.412817 * 1E6));& //用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)&&&&&&& bMapController.setCenter(defaultPoint);& //设置地图中心点&&&&&&& bMapController.setZoom(12);& //设置地图zoom级别&&&&&&&&&&&&&&& mkLocationManager = mBMapMan.getLocationManager();&}&/*** 初始化地图管理器BMapManager*/&public void init(){&&&& MapApplication app = (MapApplication)getApplication();&&&&&&& if (app.mapManager == null) {&&&&&&&& app.mapManager = new BMapManager(getApplication());&&&&&&&& app.mapManager.init(app.mStrKey, new MapApplication.MyGeneralListener());&&&&&&& }&&&&&&& mBMapMan = app.mapM&}&&@Override&protected void onDestroy() {&&&& MapApplication app = (MapApplication)getApplication();&&&& if (mBMapMan != null) {&&&&&&&& mBMapMan.destroy();&&&&&&&& app.mapManager.destroy();&&&&&&&& app.mapManager =&&&&&&&& mBMapMan =&&&& }&&&& super.onDestroy();&}&&&&&& @Override&&&&& protected void onPause() {&&&&&&&&& if (mBMapMan != null) {&&&&&&&&&&&&& // 终止百度地图API& &&&&&&&& mBMapMan.stop();&&&&&&&&& }&&&&&&&&& super.onPause();&&&&& }&&&&& @Override&&&&& protected void onResume() {&&&&&&& if (mBMapMan != null) {&&&&&&&&&&&&& // 开启百度地图API& &&&&&&&& mBMapMan.start();&&&&&&&&& }&&&&&&&&& super.onResume();&&&&& }&&@Override&protected boolean isRouteDisplayed() {&&&&&}&&@Override&public void onGetAddrResult(MKAddrInfo result, int iError) {&&&& if(result==null)&&&& SpannableStringBuilder style = new SpannableStringBuilder(String.format(getResources().getString(R.string.location_text),result.strAddr));&&&& style.setSpan(new ForegroundColorSpan(Color.RED), 5, style.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);&&&& address_view.setText(style);&&&& if(dialog!=null) dialog.dismiss();&}&&@Override&public void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1) {}&@Override&public void onGetPoiResult(MKPoiResult arg0, int arg1, int arg2) {}&@Override&public void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1) {}&@Override&public void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) {}&&/*** 重新定位,加载数据* @author Administrator**/&class MyThread implements Runnable{&&&& @Override&&&& public void run() {&&&&&&&& /**&&&&&&&&& * 最重要的就是这个玩意&&&&&&&&& * 由于LocationListener获取第一个位置修正的时间会很长,为了避免用户等待,&&&&&&&&& * 在LocationListener获取第一个更精确的位置之前,应当使用getLocationInfo() 获取一个缓存的位置&&&&&&&&& */&&&&&&&& Location location = mkLocationManager.getLocationInfo();&&&&&&&& double lat = 0d,lon = 0d;&&&&&&&& if(location!=null){&& //定位到位置&&&&&&&&&&&& String coordinate = location.getLatitude()+","+location.getLongitude();&&&&&&&&&&&& HotelRemoteData hotelData = new HotelRemoteData();&&&&&&&&&&&& /**&&&&&&&&&&&& * 远程获取酒店列表数据&&&&&&&&&&&& */&&&&&&&&&&&& hotelList = hotelData.getHotelToMap(coordinate,distance);&&&&&&&&&&&& lat = location.getLatitude();&&&&&&&&&&&& lon = location.getLongitude();&&&&&&&& }&&&&&&&&&&&&&&&&& Message msg = new Message();&&&&&&&& Bundle data = new Bundle();&&&&&&&& data.putDouble("lat", lat);&&&&&&&& data.putDouble("lon", lon);&&&&&&&& msg.setData(data);&&&&&&&& handler.sendMessage(msg);&&&& }&}&& 6、还有一种就是百度示例相当推荐的,也是加载定位位置速度比较快的,那就是通过定位监听器来定位信息。没啥难的,照着百度的示例写,都能搞定。Java代码LocationListener listener = new LocationListener() {&&&& @Override&&&& /** 位置变化,百度地图即会调用该方法去获取位置信息。&&&&& * (我测试发现就算手机不动,它也会偶尔重新去加载位置;只要你通过重力感应,他就一定会重新加载)&&&&& */&&&& public void onLocationChanged(Location location) {&&&&&& GeoPoint gp =& new GeoPoint((int) (location.getLatitude() * 1E6), (int) (location.getLongitude() * 1E6));&& //通过地图上的经纬度转换为地图上的坐标点&&&&&& bMapController.animateTo(gp);& //动画般的移动到定位的位置&&&& }&}; &&
Android 百度地图定位(手动+自动) 安卓开发教程 - Android技巧 - ...[摘要]本文是对Android 百度地图定位(手动+自动) 安卓开发教程的讲解,对学习Android编程技术有所帮助,与大家分享。 近由于项目需要,研究了下百度地图定位,他们提供...【eoeAndroid社区索引】android设备功能之百度地图教程实例汇总-...15条回复&-&发帖时间:&日Android 百度地图开发(二)--- 定位功能之MyLocationOverlay,Popup...安卓开发申请使用百度地图sdk图文教程_西西软件资讯Android应用中使用百度地图API定位自己的位置(二) - An..._红黑联盟求一个Android百度手机地图手动(自动)定位实例_百度知道3个回答 - 提问时间: 日GPS基本示例代码 +百度地图调用API接口,请先成为百度开发者会员之类,申请AppKey / ID之类 络访问编程,获取指定经纬度地图图片 把GPS定位到的经纬度,标记显示到...定位sdk-百度地图 - android-locsdk - WikiAndroid 利用百度地图SDK实现定位功能 - SegmentFault是手动触发请求或首次定位时,移动到定位点 if (isFirstLoc) { // 移动地图... 【视频教程】如何使用云图进行基于LBS开发 160 浏览 ×Close 分享 分享到微...android 基于百度地图api获取经纬度 - 机遇&速度 - ITeye技术站android百度地图实例源码、支持定位、查询路线、公交信息_51CTO...Android使用百度定位SDK方法及错误处理 - 51CTO目前百度地图定位SDK只支持Android和Symbian两大平台,... 8步教你打开Android之门 NDK入门教程 Android Map...关于Android 百度定位SDK GPS LBS的更多文章 2011年...android 百度地图Demo-分享-最代码android 百度地图Demo 通过调用百度的api来进行定位和导航的一个android客户端 由...地图 发短信 mybatis 权限管理 quartz android 打飞机 易客户端 教程 swing ...Android教程:在百度地图上画出轨迹_Linux编程_Linux公社-Linux...安卓定位成困难? 百度地图助力开发者_易手机百度地图API-定位周边搜索POI源码-免费源码-源代码下载-高仿源码...百度地图_百度地图安卓版下载_百度地图评测_当乐安卓频道(android...百度地图(</em.baidu.BaiduMap)_7.8.0_Android应用_酷安ym——android源码大放送(实战开发必备) - 手机系统 - 编程入门 │ Android 百度地图API-定位周边搜索POI源码.zip ... │ 百度地图定位,显示周围的人,类似于E代驾的首页... 安卓UI设计与开发入门教程 Cocos2D-X手机游戏开发...Arcgis andoid开发之应用百度map接口实现精准定位与显示_CGI大全_...Android调用百度地图实现 - Android - 次元立方 - 电脑知识与... Directx11 游戏编程入门教程 专题主要学习DirectX的...本文将讲述安卓调用百度地图的实现方法,刚接触百度...text=&定位& android:textSize=&18sp& /& &/...Android开发学习教程—Android实现GPS定位_百度文库 Android开发学习教程—Android实现GPS定位_IT/计算机_专业资料。在几个月前,...并可以使用滚动条、地图以及其他的组件。 所以的这一切都可以被重载,或由开发...百度地图定位基础 java教程-android100学习正文 首页 & 软件开发 & android开发 & 百度地图定位基础 java教程最近使用百度地图,查看了官方的说明,然后做了一个Demo,作为入门,如果看了我之前的代码,有一个...百度Android开发面试题解决方法_百度APImap定位 对接数据库_百度...就像官方的Notepad教程里的情况,你正在编辑某一个note,突然被中断,那么就把这个... 百度API地图定位 对接数据库跪求: 百度API地图定位 对接数据库 怎么个思路...Android百度地图API实现定位与目的地导航 - 百科教程_..._上学吧百度地图、公交查询、自动定位 - Android 代码下载 - Android开发...[操作系统]Android Map Api 使用和开发(2) 定位我的位置、地图... 1、在地图上弹出泡泡显示信息,并且能相应泡泡的点击时间 2、自动定位当前位置(也就是我的位置) --添加了 GPS定位和基站定位。...百度Android定位SDK实现获取当前经纬度及位置 - OPEN 开发经验库Arcgis andoid开发之应用百度地图接口实现精准定位与显示 -..._推酷Arcgis andoid开发之应用百度地图接口实现精准定位与显示 - LZU-GIS... &?xml version=&1.0& encoding=&utf-8&?& &manifest xmlns:android=&...百度地图离线数据包_海西_低分屏 1.0.0 for Android,百度地图破解... && 地图定位 && 百度地图离线数据包_海西_低分屏 1.0.0 for Android...教程: Flash Dreamweaver Fireworks Photoshop AutoCAD 3DsMAX | ASP PHP JSP ...百度地图定位跟踪Android实时计程-Android开发问答-eoe 移动开发...14条回复&-&发帖时间:&日百度地图api以及定位api的开发实现定位功能 - TerryLMay - 博客...首先,通过百度地图api的主页点击Android SDK申请一个key,按照百度首页操作即可.另本文主要是讲解如何创建一个android的定位功能,首先创建一个工程,导入百度api的包...有关安卓android百度地图api无法定位, -问答 - 移动开发问答- 01... 关于android 百度地图api 无法定位, 按照demo进行码,demo能进行定位,但是我的却不能进行定位, package.dragonmuou. import.baidu.location...百度地图|Android 定位 SDK12059人阅读
转载请标明出处:上篇博客已经实现了地图的定位以及结合了方向传感器用户路痴定位方向,如果你还不清楚,请查看:,本章会教大家如何添加覆盖物,实现周边搜索,以及对覆盖物的点击出现介绍等效果。效果图:我们的需求是,当用户点击衣食住行,或者对对附近搜索是,从服务器返回数据(经纬度,商家信息,介绍等),然后动态生成覆盖物,实现上述效果。关于图片,由于手机上的内存的有限性,所有的图片下载完成都应该存入预设的缓存中,例如LruCache,然后需要的时候从缓存取,缓存没有,下载完成放入缓存;即实现所有的图片所占的内存永远不会超过缓存预设的内存值,当然了本篇的重点不是这个,我直接拿了几张图片加入我们的项目中模拟。1、承载数据的实体我们从服务器返回的数据部分,最终可能是个Json数组,我们需要转换为实体集合,即下面的Info.java:package com.zhy.zhy_baidu_ditu_demo03;
import java.io.S
import java.util.ArrayL
import java.util.L
public class Info implements Serializable
private static final long serialVersionUID = -858414L;
* 图片ID,真实项目中可能是图片路径
private int imgId;
* 商家名称
public static List&Info& infos = new ArrayList&Info&();
infos.add(new Info(34.8.971171, R.drawable.a01, &英伦贵族小旅馆&,
&距离209米&, 1456));
infos.add(new Info(34.8.972171, R.drawable.a02, &沙井国际洗浴会所&,
&距离897米&, 456));
infos.add(new Info(34.8.973171, R.drawable.a03, &五环服装城&,
&距离249米&, 1456));
infos.add(new Info(34.8.971971, R.drawable.a04, &老米家泡馍小炒&,
&距离679米&, 1456));
public Info()
public Info(double latitude, double longitude, int imgId, String name,
String distance, int zan)
this.latitude =
this.longitude =
this.imgId = imgId;
this.name =
this.distance =
this.zan =
public double getLatitude()
public void setLatitude(double latitude)
this.latitude =
public double getLongitude()
public void setLongitude(double longitude)
this.longitude =
public String getName()
public int getImgId()
return imgId;
public void setImgId(int imgId)
this.imgId = imgId;
public void setName(String name)
this.name =
public String getDistance()
public void setDistance(String distance)
this.distance =
public int getZan()
public void setZan(int zan)
this.zan =
我直接在实体类中声明了一个静态列表集合,模拟从服务器返回的数据s。2、地图中动态添加Overlay为了方便,我把按钮都放在menu菜单中:@Override
public boolean onOptionsItemSelected(MenuItem item)
switch (item.getItemId())
case R.id.id_menu_map_addMaker:
* 初始化图层
public void addInfosOverlay(List&Info& infos)
mBaiduMap.clear();
LatLng latLng =
OverlayOptions overlayOptions =
Marker marker =
for (Info info : infos)
latLng = new LatLng(info.getLatitude(), info.getLongitude());
overlayOptions = new MarkerOptions().position(latLng)
.icon(mIconMaker).zIndex(5);
marker = (Marker) (mBaiduMap.addOverlay(overlayOptions));
Bundle bundle = new Bundle();
bundle.putSerializable(&info&, info);
marker.setExtraInfo(bundle);
// 将地图移到到最后一个经纬度位置
MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(latLng);
mBaiduMap.setMapStatus(u);
可以看到,我们迭代添加了Overlay,然后在返回的Marker中设置了商家的信息,用户用户对Marker的点击时,拿到商家数据生成详细信息布局。3、为地图上的Marker添加点击事件://对Marker的点击
mBaiduMap.setOnMarkerClickListener(new OnMarkerClickListener()
public boolean onMarkerClick(final Marker marker)
//获得marker中的数据
Info info = (Info) marker.getExtraInfo().get(&info&);
InfoWindow mInfoW
//生成一个TextView用户在地图中显示InfoWindow
TextView location = new TextView(getApplicationContext());
location.setBackgroundResource(R.drawable.location_tips);
location.setPadding(30, 20, 30, 50);
location.setText(info.getName());
//将marker所在的经纬度的信息转化成屏幕上的坐标
final LatLng ll = marker.getPosition();
Point p = mBaiduMap.getProjection().toScreenLocation(ll);
Log.e(TAG, &--!& + p.x + & , & + p.y);
p.y -= 47;
LatLng llInfo = mBaiduMap.getProjection().fromScreenLocation(p);
//为弹出的InfoWindow添加点击事件
mInfoWindow = new InfoWindow(location, llInfo,
new OnInfoWindowClickListener()
public void onInfoWindowClick()
//隐藏InfoWindow
mBaiduMap.hideInfoWindow();
//显示InfoWindow
mBaiduMap.showInfoWindow(mInfoWindow);
//设置详细信息布局为可见
mMarkerInfoLy.setVisibility(View.VISIBLE);
//根据商家信息为详细信息布局设置信息
popupInfo(mMarkerInfoLy, info);
});根据商家的信息Info.java为详细信息布局中的控件添加数据(记得生成TextView的时候,先设置背景,再设置padding,不然可能会失效~~~)/**
* 根据info为布局上的控件设置信息
* @param mMarkerInfo2
* @param info
protected void popupInfo(RelativeLayout mMarkerLy, Info info)
ViewHolder viewHolder =
if (mMarkerLy.getTag() == null)
viewHolder = new ViewHolder();
Img = (ImageView) mMarkerLy
.findViewById(_img);
Name = (TextView) mMarkerLy
.findViewById(_name);
Distance = (TextView) mMarkerLy
.findViewById(_distance);
Zan = (TextView) mMarkerLy
.findViewById(_zan);
mMarkerLy.setTag(viewHolder);
viewHolder = (ViewHolder) mMarkerLy.getTag();
Img.setImageResource(info.getImgId());
Distance.setText(info.getDistance());
Name.setText(info.getName());
Zan.setText(info.getZan() + &&);
这里我们使用了一个ViewHoler进行控件的复用,让findViewById只会执行一次 /**
* 复用弹出面板mMarkerLy的控件
* @author zhy
private class ViewHolder
ImageView infoI
TextView infoN
TextView infoD
TextView infoZ
}最后添加地图的单击事件,隐藏出现的详细信息布局和InfoWindowmBaiduMap.setOnMapClickListener(new OnMapClickListener()
public boolean onMapPoiClick(MapPoi arg0)
public void onMapClick(LatLng arg0)
mMarkerInfoLy.setVisibility(View.GONE);
mBaiduMap.hideInfoWindow();
});最后看一下我们的布局文件:&RelativeLayout xmlns:android=&/apk/res/android&
xmlns:tools=&/tools&
android:layout_width=&match_parent&
android:layout_height=&match_parent& &
&com.baidu.mapapi.map.MapView
android:id=&@+id/id_bmapView&
android:layout_width=&fill_parent&
android:layout_height=&fill_parent&
android:clickable=&true& /&
&RelativeLayout
android:id=&@+id/id_marker_info&
android:visibility=&gone&
android:layout_width=&fill_parent&
android:layout_height=&220dp&
android:layout_alignParentBottom=&true&
android:background=&#CC4e5a6b&
android:clickable=&true& &
&ImageView
android:id=&@+id/info_img&
android:layout_width=&fill_parent&
android:layout_height=&150dp&
android:layout_marginBottom=&10dp&
android:layout_marginLeft=&12dp&
android:layout_marginRight=&12dp&
android:layout_marginTop=&10dp&
android:alpha=&1.0&
android:background=&@drawable/map_image_border_white&
android:clickable=&true&
android:scaleType=&fitXY&
android:src=&@drawable/a04& /&
&RelativeLayout
android:layout_width=&fill_parent&
android:layout_height=&50dp&
android:layout_alignParentBottom=&true&
android:background=&@drawable/bg_map_bottom& &
&LinearLayout
android:layout_width=&fill_parent&
android:layout_height=&wrap_content&
android:layout_centerVertical=&true&
android:layout_marginLeft=&20dp&
android:orientation=&vertical& &
android:id=&@+id/info_name&
android:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:text=&老米家泡馍小炒&
android:textColor=&#FFF5EB& /&
android:id=&@+id/info_distance&
android:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:text=&距离200米&
android:textColor=&#FFF5EB& /&
&/LinearLayout&
&LinearLayout
android:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:layout_alignParentRight=&true&
android:layout_centerVertical=&true&
android:layout_marginRight=&20dp&
android:orientation=&horizontal& &
&ImageView
android:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:onClick=&zan&
android:src=&@drawable/map_zan& /&
android:id=&@+id/info_zan&
android:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:layout_gravity=&center&
android:text=&652&
android:textColor=&#FFF5EB& /&
&/LinearLayout&
&/RelativeLayout&
&/RelativeLayout&
&/RelativeLayout&除了MapView,其他都是详细信息的布局,默认是隐藏的,当用户点击Marker显示以及设置初值,当用户单击地图时再将其隐藏。好了,到此介绍完毕~~注:开发者key需要换成自己申请的,不清楚申请的请看第一篇博客的。百度地图相关博客视频版本已经上线:期待您的支持。博主部分视频已经上线,如果你不喜欢枯燥的文本,请猛戳(初录,期待您的支持):百度地图相关博客视频版本已经上线:期待您的支持。博主部分视频已经上线,如果你不喜欢枯燥的文本,请猛戳(初录,期待您的支持):
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:970794次
积分:15623
积分:15623
排名:第237名
原创:145篇
评论:2999条
长期为您推荐优秀博文、开源项目、视频等,进入还有好玩的等着你,欢迎扫一扫。
三群: 【初建】
请勿重复加群,Thx
文章:11篇
阅读:31699
文章:10篇
阅读:17364
文章:67篇
阅读:603647
(2)(4)(6)(7)(6)(7)(11)(10)(23)(17)(18)(39)(1)(1)

我要回帖

更多关于 android 获得经纬度 的文章

 

随机推荐