一、概述
第一次写博客,希望各位朋友勿喷!因为之前做过什么百度定位和高德地图导航这些,都是嵌入它们的SDK,代码量
又很复杂,过程也有点繁琐,写这篇文章也是因为个人觉得自己做得还不够百度自带写的好,能力太差没办法
另外IOS端(或者其他)的可上官网查看:http://developer.baidu.com/map/wiki/index.php?title=uri/api/android
提前说明,工程是在手机客户端调用百度地图的Web端接口,而不是直接在自己的项目显示,到时候不要看错怪我哟
。
二、效果图
三、代码
代码很简单,三句搞定一切。不用导入包,不用加权限。如果想改变地址,只需要把位置传给Url中的address
public class MainActivity extends AppCompatActivity {
private TextView addressText;
private Button navigationButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addressText = (TextView) findViewById(R.id.id_address);
navigationButton = (Button) findViewById(R.id.id_navigation);
navigationButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String address = "address=" + addressText.getText().toString();
/**调用百度地图Web页面
* address=LocaltionAddress&src=YourAppName
*/
String uristr = "http://api.map.baidu.com/geocoder?" + address
+ "&output=html&src=yhc";
Uri uri = Uri.parse(uristr);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});
}
}
布局就两个控件,一个TextView和Button,不用贴代码了吧,我比较懒,所以界面就那个样子最后我不知道为什么头部插入代码的时候会出现一大块空格,而且还删不掉。知道的朋友记得留言教教小白。
public class MainActivity extends AppCompatActivity {
private TextView addressText;
private Button navigationButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addressText = (TextView) findViewById(R.id.id_address);
navigationButton = (Button) findViewById(R.id.id_navigation);
navigationButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String address = "address=" + addressText.getText().toString();
/**调用百度地图Web页面
* address=LocaltionAddress&src=YourAppName
*/
String uristr = "http://api.map.baidu.com/geocoder?" + address
+ "&output=html&src=yhc";
Uri uri = Uri.parse(uristr);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});
}
}