当前位置:首页 » 编程语言 » javaapi地图

javaapi地图

发布时间: 2022-05-16 04:12:39

❶ 怎样在java中调用百度地图的API

网络地图Web服务API为开发者提供http接口,即开发者通过http形式发起检索请求,获取返回json或xml格式的检索数据。
api官网说明链接:

http://developer..com/map/webservice.htm

1、可用接口列举:
获取相关地址提示 place suggestion
http://api.map..com/place/v2/suggestion?query=水杉®ion=成都&output=json&ak=

2、获取坐标 geocoding

http://api.map..com/geocoder?address=锦江区菱安路299号&output=json&key=

http://api.map..com/place/v2/search?ak=&output=json&query=蓝光coco金沙&page_size=10&page_num=0&scope=1®ion=成都
{
"status":0,
"message":"ok",
"total":2,
"results":[
{
"name":"蓝光COCO金沙",
"location":{
"lat":30.687544,
"lng":103.996691
},
"address":"西三环外金沙西源大道(IT大道旁)",
"uid":"223992992c5ee7e0841541df"
},
{
"name":"蓝光COCO金沙2期",
"location":{
"lat":30.681123,
"lng":103.991123
},
"address":"青羊区金沙IT大道旁",
"uid":"b7bb5abb1cd4982213293580"
}
]
}

3、设施导航
http://api.map..com/place/v2/search?ak=&output=json&query=图书馆&page_size=20&page_num=0&scope=2®ion=成都

4、java测试类:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;

public class LocationUtil {

private static final String BAIDU_APP_KEY = "";

/**
* 返回输入地址的经纬度坐标 key lng(经度),lat(纬度)
*/
public static Map<String, String> getLatitude(String address) {
try {
// 将地址转换成utf-8的16进制
address = URLEncoder.encode(address, "UTF-8");
// 如果有代理,要设置代理,没代理可注释
// System.setProperty("http.proxyHost","192.168.172.23");
// System.setProperty("http.proxyPort","3209");

URL resjson = new URL("http://api.map..com/geocoder?address="
+ address + "&output=json&key=" + BAIDU_APP_KEY);
BufferedReader in = new BufferedReader(new InputStreamReader(
resjson.openStream()));
String res;
StringBuilder sb = new StringBuilder("");
while ((res = in.readLine()) != null) {
sb.append(res.trim());
}
in.close();
String str = sb.toString();
System.out.println("return json:" + str);
if(str!=null&&!str.equals("")){
Map<String, String> map = null;
int lngStart = str.indexOf("lng\":");
int lngEnd = str.indexOf(",\"lat");
int latEnd = str.indexOf("},\"precise");
if (lngStart > 0 && lngEnd > 0 && latEnd > 0) {
String lng = str.substring(lngStart + 5, lngEnd);
String lat = str.substring(lngEnd + 7, latEnd);
map = new HashMap<String, String>();
map.put("lng", lng);
map.put("lat", lat);
return map;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

public static void main(String args[]) {

Map<String, String> map = LocationUtil.getLatitude("成都 高新西区西区大道1398号");
if (null != map) {
System.out.println(map.get("lng"));
System.out.println(map.get("lat"));
}
}
}

❷ java端调用百度地图api

调google api吧:
<script type="text/javascript" src="http://ditu.google.cn/maps/api/js?sensor=false"></script>
上面引入后,
<script type="text/javascript">
function initialize() {
var myLatlng = new google.maps.LatLng(29.678815, 121.426489);
var myOptions = {
zoom: 12,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: "Hello World!"
});

var rectangle = new google.maps.Rectangle();
var rectOptions = {
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#FF0000",
fillOpacity: 0.35,
map: map,
clickable:false,
bounds: map.getBounds()
};

var beginlatlng = ""; //记录起始点坐标
var endlatlng = ""; //记录结束点坐标
var rectBounds = "";
var SfClick = "";
var SfMove = "";
var ClickCount = 0; //点击次数
SfClick = google.maps.event.addListener(map, 'click', function(e) {
var begin = e.latLng;
ClickCount++;
if (ClickCount == 1) {
SfMove = google.maps.event.addListener(map, "mousemove",function(e) {
beginlatlng = begin;
endlatlng = e.latLng;
rectOptions.bounds = new google.maps.LatLngBounds(beginlatlng, endlatlng);
rectOptions.map = map;
rectangle.setOptions(rectOptions);
});
} else {
google.maps.event.removeListener(SfMove);
if (window.confirm("ok")) {
ClickCount = 0;
alert('起始坐标点' + beginlatlng + '\n结束坐标点' + endlatlng)
} else {
ClickCount = 0;
rectOptions.map = null;
rectangle.setOptions(rectOptions);
}
}
});
}
</script>

❸ 如何使用java 开发百度地图

网络有提供api的,一般是按照api给的网址,在网址后加经纬度或者地区名,但是网络地图要申请秘钥的,这个需要自己去申请一个,免费的,类似的功能你可以参考下面的源码虽然是javascript的,但是java用起来差不多,毕竟你的地图肯定是在web页面显示的

<!DOCTYPEhtml>
<html>
<head>
<metaname="viewport"content="initial-scale=1.0,user-scalable=no"/>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>Hello,World</title>
<styletype="text/css">
html{height:100%}
body{height:100%;margin:0px;padding:0px}
#container{height:100%}
</style>
<scripttype="text/javascript"src="http://api.map..com/api?v=2.0&ak=您的密钥">
//v2.0版本的引用方式:src="http://api.map..com/api?v=2.0&ak=您的密钥"
//v1.4版本及以前版本的引用方式:src="http://api.map..com/api?v=1.4&key=您的密钥&callback=initialize"
</script>
</head>

<body>
<divid="container"></div>
<scripttype="text/javascript">
varmap=newBMap.Map("container");//创建地图实例
varpoint=newBMap.Point(116.404,39.915);//创建点坐标
map.centerAndZoom(point,15);//初始化地图,设置中心点坐标和地图级别
</script>
</body>
</html>

❹ java怎么调用百度地图api得到动态经纬度有demo最

经纬度不是通过网络地图获得的,而是通过移动设备自身的GPS得到的 不过想要在GPS坐标在网络地图上显示出正确的地理位置,需要调用的火星坐标转换接口: /ag/coord/convert?from=0&to=4&x=12144xxxx&y=3122yyyy(java怎么调用网络地图api得到动态经纬度?有demo最

❺ 百度地图api java怎么用

一、申请密钥
1、先用eclipse创建一个Android工程
2、在网络api官网上申请一个密钥,链接:http://lbsyun..com/apiconsole/key
bubuko.com,布布扣
二、工程配置
1、将mapapi_vX_X_X.jar拷贝到工程libs目录下,将libBaiMapSDK_vX_X_X.so拷贝到libs\armeabi
目录下,拷贝完成后,如下所示:
注:liblocSDK3.so和locSDK_3.1.jar为网络定位SDK所使用资源,开发者可根据实际需求自行添加。
bubuko.com,布布扣
2、右键工程属性,在Libraries中选择“Add External JARs”,选择mapapi_vX_X_X.jar,确定返回
配置好以上步骤,即可使用网络地图了

三、显示网络地图
1、在android配置清单文件中AndroidManifest.xml添加开发密钥和所需权限
<application> <meta-data android:name="com..lbsapi.API_KEY" android:value="开发者 key" /> </application>

所需权限
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
2、在xml布局中添加地图控件
<com..mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
?3、在应用程序创建时初始化,SDK引用的全局变量Context
注意:在SDK各功能组件使用之前都需要调用
SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
SDKInitializer.initialize(getApplicationContext());
System.out.println("SDKInitializer一初始化");
}

}
设置自定义的application为默认应用
<application
android:name="com.bao.ah.MyApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
//SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
}
}
4、网络地图应和Activity生命周期绑定
public class MainActivity extends Activity {
MapView mMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
//SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
//获取地图控件引用
mMapView = (MapView) findViewById(R.id.bmapView);
}
@Override
protected void onDestroy() {
super.onDestroy();
//在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
mMapView.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
//在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
//在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
mMapView.onPause();
}
}

❻ 如何使用java和百度地图api 得到两点之间的路程(驾车行驶距离)

获取到两点的经纬度,再调用网络地图的api计算。我记得,有一个计算距离的api.

<scripttype="text/javascript">
//网络地图API功能
varmap=newBMap.Map("allmap");
map.centerAndZoom("重庆",12);//初始化地图,设置城市和地图级别。
varpointA=newBMap.Point(106.486654,29.490295);//创建点坐标A--大渡口区
varpointB=newBMap.Point(106.581515,29.615467);//创建点坐标B--江北区
alert('从大渡口区到江北区的距离是:'+(map.getDistance(pointA,pointB)).toFixed(2)+'米。');//获取两点距离,保留小数点后两位
varpolyline=newBMap.Polyline([pointA,pointB],{strokeColor:"blue",strokeWeight:6,strokeOpacity:0.5});//定义折线
map.addOverlay(polyline);//添加折线到地图上
</script>

❼ 求javaweb的调用百度地图api的项目 能实现基本功能

<html>
<head>
<!--引用网络地图-->
<script type="text/javascript" src="http://api.map..com/api?v=1.3">
</script>
<title>如何调用API</title>
<!-- 设计样式container容器:占50%大小-->
<style type="text/css">
#container{width:100%;height:100%;}
</style>
</head>
<body style="margin-top:0; margin-left:0">
<div id="container" style="margin-top:0; margin-left:0"></div>
<script type="text/javascript">
var map = new BMap.Map("container");//在container容器中创建一个地图,参数container为div的id属性;
map.addControl(new BMap.NavigationControl()); //初始化地图控件
map.addControl(new BMap.ScaleControl());
map.addControl(new BMap.OverviewMapControl());
var point = new BMap.Point(114.704605,38.282669);//定位,实际应用时,这个应该设置到参数中
map.centerAndZoom(point,20); //将point移到浏览器中心,并且地图大小调整为20街道级;

//其他坐标点
var points=new Array();
points.push(new BMap.Point(114.705027, 38.284326));//实际应用时,从数据库获取
points.push(new BMap.Point(114.701187, 38.284475));
points.push(new BMap.Point(114.700315, 38.285264));
points.push(new BMap.Point(114.706064, 38.284457));
points.push(new BMap.Point(114.706136, 38.284173));
var deps=["特种车辆","特种车辆","特种车辆","特种车辆","特种车辆","特种车辆"];
var personName=["王鹏","李大力","胡皓东","陈谦","大山","匿名用户"];
//alert(deps[0]+"/"+personName[0]);

for(var i=0;i<points.length;i++){
addMarker(i);
/*marker = new BMap.Marker(points[i]);
map.addOverlay(marker);
marker.addEventListener("click",function(){

//创建信息窗口
var opts = {
width : 30, // 信息窗口宽度
height: 30, // 信息窗口高度
title : deps[i] // 信息窗口标题
}

var infoWindow = new BMap.InfoWindow(personName[i], opts); // 创建信息窗口对象
map.openInfoWindow(infoWindow, map.getCenter()); // 打开信息窗口

});*/

}
function addMarker(j){
marker = new BMap.Marker(points[j]); // 创建标注
map.addOverlay(marker);
var opts = {
width : 10, // 信息窗口宽度
height: 10, // 信息窗口高度
title : deps[j] // 信息窗口标题
}
var infoWindow = new BMap.InfoWindow(personName[j], opts); // 创建信息窗口对象
marker.addEventListener("click", function(){ this.openInfoWindow(infoWindow); });
//marker.setLabel(new BMap.Label("我是网络,呵呵",{offset:new BMap.Size(10,-40)}));
}
//标注
/*var marker = new BMap.Marker(point);
map.addOverlay(marker);
marker.addEventListener("click",function(){ //点击标注时出发事件
alert("您点击了标注");
});
marker.enableDragging(); //标注可拖拽
//创建信息窗口
var opts = {
width : 30, // 信息窗口宽度
height: 30, // 信息窗口高度
title : "Hello" // 信息窗口标题
}
var infoWindow = new BMap.InfoWindow("World", opts); // 创建信息窗口对象
map.openInfoWindow(infoWindow, map.getCenter()); // 打开信息窗口

//折线
var polyline = new BMap.Polyline([
new BMap.Point(114.705027, 38.284326),
new BMap.Point(114.701187, 38.284475),
new BMap.Point(114.700315, 38.285264)
],
{strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5} //蓝色、宽度为6
);
map.addOverlay(polyline); */
</script>
</body>
</html>

❽ java怎么调用百度地图api得到动态经纬度有demo最好,多谢

经纬度不是通过网络地图获得的,而是通过移动设备自身的GPS得到的

不过想要在GPS坐标在网络地图上显示出正确的地理位置,需要调用的火星坐标转换接口:
http://api.map..com/ag/coord/convert?from=0&to=4&x=121.44xxxx&y=31.22yyyy(xxxx、yyyy涉及隐私不能完全给出)。这个接口会返回转换后的火星坐标地址,BASE64编码的,可以进行解码。然后把火星坐标地址传到地图中就行了

❾ java怎么调用地图获取地理位置信息

通过浏览器来获取用户当前位置。基于此特性可以开发基于位置的服务应用。在获取地理位置信息前,首先浏览器都会向用户询问是否愿意共享其位置信息,待用户同意后才能使用。
Html5获取地理位置信息是通过Geolocation API提供,使用其getCurrentPosition方法,此方法中有三个参数,分别是成功获取到地理位置信息时所执行的回调函数,失败时所执行的回调函数和可选属性配置项。

❿ java百度地图API获取当前位置是unicode怎么直接获取汉字啊

自己写个工具类。调用一下就行了。程序运行的时候就是用的unicode码。只是我们看到的是被转义了而已

热点内容
python利器 发布:2024-05-06 13:33:56 浏览:731
ts代码编译成umd 发布:2024-05-06 13:13:38 浏览:724
粮库存储粮种类 发布:2024-05-06 13:11:26 浏览:52
一般网络的dns服务器是什么 发布:2024-05-06 13:02:43 浏览:153
压缩模具设计 发布:2024-05-06 13:02:04 浏览:562
逍遥模拟器如何配置网络 发布:2024-05-06 12:21:38 浏览:983
服务器如何检测硬件地址 发布:2024-05-06 12:12:35 浏览:739
服务器在线访问数由什么决定 发布:2024-05-06 11:39:15 浏览:678
途观21款哪个配置值得买 发布:2024-05-06 11:29:00 浏览:92
pythonspyder 发布:2024-05-06 11:15:53 浏览:167