搜索地址功能是建立在能够通过百度地图API获取位置的基础上

通过百度地图定位获取位置详情:http://www.cnblogs.com/zzw1994/p/5008134.html

 package com.zzw.baidumappoint;

 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.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.search.geocode.GeoCodeOption;
import com.baidu.mapapi.search.geocode.GeoCodeResult;
import com.baidu.mapapi.search.geocode.GeoCoder;
import com.baidu.mapapi.search.geocode.OnGetGeoCoderResultListener;
import com.baidu.mapapi.search.geocode.ReverseGeoCodeResult; import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast; public class MainActivity extends Activity { private LocationClient mLocationClient;
private BaiduMap mBaiduMap;
private GeoCoder mGeoCoder; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());// 使程序不崩溃的作用
setContentView(R.layout.activity_main); final EditText city_edit = (EditText) findViewById(R.id.city);
final EditText addr_edit = (EditText) findViewById(R.id.addr);
// 获取LocationClient
mLocationClient = new LocationClient(this); // 获得GeoCoder
mGeoCoder = GeoCoder.newInstance();
mGeoCoder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() { @Override
public void onGetReverseGeoCodeResult(ReverseGeoCodeResult result) { } @Override
public void onGetGeoCodeResult(GeoCodeResult result) {
try{
LatLng ll = result.getLocation();
// 只是完成了定位
MyLocationData locData = new MyLocationData.Builder().latitude(ll.latitude).longitude(ll.longitude)
.build(); // 设置图标在地图上的位置
mBaiduMap.setMyLocationData(locData); // 开始移动百度地图的定位地点到中心位置
MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(ll, 16.0f);
mBaiduMap.animateMapStatus(u);
}catch(Exception e){
Toast.makeText(getApplicationContext(), "请检查地址", 0).show();
}
}
}); findViewById(R.id.GO).setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
try {
String city = city_edit.getText() + "";
String addr = addr_edit.getText() + "";
city_edit.setText("");
addr_edit.setText("");
mGeoCoder.geocode(new GeoCodeOption().city(city.trim()).address(addr.trim()));
} catch (Exception e) { } }
});
LocationClientOption option = new LocationClientOption();
option.setCoorType("bd09ll");
mLocationClient.setLocOption(option); // 获取BaiduMap
MapView mapView = (MapView) findViewById(R.id.mapView);
mBaiduMap = mapView.getMap(); // 显示出当前位置的小图标
mBaiduMap.setMyLocationEnabled(true); MyLocationListener mListener = new MyLocationListener();
mLocationClient.registerLocationListener(mListener);
mLocationClient.start();
} @Override
protected void onDestroy() {
mLocationClient.stop();
super.onDestroy();
} private class MyLocationListener implements BDLocationListener { @Override
public void onReceiveLocation(BDLocation location) { // 只是完成了定位
MyLocationData locData = new MyLocationData.Builder().latitude(location.getLatitude())
.longitude(location.getLongitude()).build(); // 设置图标在地图上的位置
mBaiduMap.setMyLocationData(locData); // 开始移动百度地图的定位地点到中心位置
LatLng ll = new LatLng(location.getLatitude(), location.getLongitude());
MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(ll, 16.0f);
mBaiduMap.animateMapStatus(u);
} } }

通过百度地图API实现搜索地址--第三方开源--百度地图(三)的更多相关文章

  1. QQ地图api里的 地址解析函数 看不懂 javascript_百度知道

    QQ地图api里的 地址解析函数 看不懂 javascript_百度知道     QQ地图api里的 地址解析函数 看不懂 javascript    2011-09-18 12:18     匿名 ...

  2. 百度地图API地点搜索-获取经纬度

    分享一下地图上的地点搜索和鼠标点击获取地点经纬度,这些都是地图比较基本和实用的代码,其中还包括了根据用户IP进行地图的显示.改变地图上的鼠标样式.启用滚轮缩放等,算是半入门吧,其他的一些可以自己参考百 ...

  3. 【百度地图API】如何制作一张魔兽地图!!——CS地图也可以,哈哈哈

    原文:[百度地图API]如何制作一张魔兽地图!!--CS地图也可以,哈哈哈 摘要: 你玩魔兽不?你知道如何做一张魔兽地图不?! 快来看此文吧! ---------------------------- ...

  4. PHP+百度地图API+JAVASCRIPT实现GPS坐标与百度坐标转换的实例

    原文:PHP+百度地图API+JAVASCRIPT实现GPS坐标与百度坐标转换的实例 <!--小幅的坐标转换点位程序--> <!DOCTYPE html> <html&g ...

  5. 【百度地图API】关于如何进行城市切换的三种方式

    原文:[百度地图API]关于如何进行城市切换的三种方式 摘要:本文介绍了三种切换城市的方式:查询城市.城市列表和显示城市轮廓. ------------------------------------ ...

  6. 使用百度地图API自动获取地址和经纬度

    先上效果图,这是直接点击获取经纬度和地址的.没有做搜索的功能. 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...

  7. 通过百度地图API定位--第三方开源--百度地图(一)

    1.把百度地图定位API(下载地址:http://lbsyun.baidu.com/sdk/download?selected=location)里面的libs复制到自己的项目libs里面 2.进行相 ...

  8. 用百度地图API打造方便自己使用的手机地图

    有钱人咱就不说了,因为偶是个穷银--因为穷,所以去年买的Huawei C8650+到现在还在上岗,对于没有钱买好的配置的手机的童鞋来说,类似于百度,谷歌,高德等商家的地图在自己的机器上跑起来确实是有点 ...

  9. 百度地图API示例之根据城市名设置地图中心点

    代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" con ...

随机推荐

  1. [Java] String.Split 方法的6个重载函数

    String.Split 方法有6个重载函数: 程序代码 1) public string[] Split(params char[] separator) 2) public string[] Sp ...

  2. iOS 设计模式之单例

    设计模式:单例 一.  单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并 ...

  3. C#备份,还原数据库

    private void btnBack_Click(object sender, EventArgs e) { string saveAway = @"C:\1.bak"; // ...

  4. Python一些难以察觉的错误

    Python一些难以察觉的错误 今天把微博的收藏夹打开,发现以前很多收藏的好文章还没有细细研究,今天开始要慢慢研究总结总结.今天看的这篇文章地址: http://blog.amir.rachum.co ...

  5. 正则转nfa:bug出现。

    本人写的一个正则到nfa的bug 刚写完前面的那篇,自己用脑子过了一下,发现了一个bug.具体情况如下. 这个bug的产生条件是多次调用假名的时候,每次调用都会修改假名的nfa图.直接这么说不好理解, ...

  6. UWP源码——Unit Test

    之前我们讨论了涨姿势UWP的RSS数据源获取,以及作为文件存储到本地,再将数据转化成Model对象.这部分非UI的内容非常适合添加Unit Test.不涉及UI的话,UT写起来简单高效,很是值得投入一 ...

  7. 【CSS3】---为边框应用图片 border-image

    为边框应用图片 border-image 顾名思义就是为边框应用背景图片,它和我们常用的background属性比较相似.例如: background:url(xx.jpg) 10px 20px no ...

  8. mvc的一些知识点

    MVC是微软2009对外公布的第一个开源的表示层框架,这是微软的第一个开源项目, MVC目的不是取代WebFrom开发,只是web开发的另外一种选择 1.MVC设计模式 M:Model 主要是存储或者 ...

  9. view, surfaceView, invalidate, postInvalidate, 刷新屏幕

    http://blog.csdn.net/linghu_java/article/details/9985489 1.view view在api中的结构 Java.lang.Object Androi ...

  10. WIN7实用的运行命令

    运行命令主要是DOS操作系统的运行方式.为方便用户的操作,微软公司将一些常用的命令,如DIR,CD等命令全部集成在系统里面:存放这些内部命令的文件是“Command”(文件后缀.com).它与IO.s ...