java 定位

1、服务端

package com.test.currentplace;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.nio.charset.Charset;

import org.json.JSONObject;

public class CurrentPlace {

	private static String readAll(Reader rd) throws IOException {
		StringBuilder sb = new StringBuilder();
		int cp;
		while ((cp = rd.read()) != -1) {
			sb.append((char) cp);
		}
		return sb.toString();
	}

	public static JSONObject readJsonFromUrl(String url) throws Exception {
		InputStream is = new URL(url).openStream();
		try {
			BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
			String jsonText = readAll(rd);
			JSONObject json = new JSONObject(jsonText);
			return json;
		} finally {
			is.close();
		}
	}

	public static void main(String[] args) throws Exception {
		JSONObject json = readJsonFromUrl("http://api.map.baidu.com/location/ip?ak=服务器端akXXXXX");
		 System.out.println(json.toString());
	}
}

 

2、javascript
<!DOCTYPE html>  
<html>  
<head>  
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>Hello, World</title>  
<style type="text/css">  
html {  
    height: 100%  
}  
  
body {  
    height: 100%;  
    margin: 0px;  
    padding: 0px  
}  
  
#container {  
    height: 50%  
}  
</style>  

<script type="text/javascript" src="jquery.js"> </script>
<script type="text/javascript" >
	$(function(){
		$('#getPoint').click(function(){
			if($('#address').val() == ''){
				alert('请填写一个地址');
			}
			var adds = $('#address').val();
			getPoint(adds);
		});

		function getPoint(adds){
			// 创建地址解析器实例
			var myGeo = new BMap.Geocoder();
			// 将地址解析结果显示在地图上,并调整地图视野
			myGeo.getPoint(adds, function(point){
				$('#shopcoord').val(JSON.stringify(point));
			}, "北京市");
		}


	
	});

</script>

<script type="text/javascript"  
    src="http://api.map.baidu.com/api?v=2.0&ak=your_script_key">  
    //v2.0版本的引用方式:src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"  
    //v1.4版本及以前版本的引用方式:src="http://api.map.baidu.com/api?v=1.4&key=您的密钥&callback=initialize"  
</script>  
</head>  
  
<body>  
    <div id="container"></div>  
    <script type="text/javascript">  
        var map = new BMap.Map("container"); // 创建地图实例    
        var point = new BMap.Point(100.563581, 29.001249); // 创建点坐标   北京的  
        //var point = new BMap.Point(13027301.49, 4369219.64);  // 创建点坐标     
        map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和地图级别    
        map.addControl(new BMap.NavigationControl()); //NavigationControl:地图平移缩放控件,PC端默认位于地图左上方,它包含控制地图的平移和缩放的功能。移动端提供缩放控件,默认位于地图右下方。  
        map.addControl(new BMap.ScaleControl()); // ScaleControl:比例尺控件,默认位于地图左下方,显示地图的比例关系。  
        map.addControl(new BMap.OverviewMapControl()); // OverviewMapControl:缩略地图控件,默认位于地图右下方,是一个可折叠的缩略地图。  
        map.addControl(new BMap.MapTypeControl()); // 地图类型控件,默认位于地图右上方。  
        map.addControl(new BMap.CopyrightControl()); //版权控件,默认位于地图左下方。  
        //map.addControl(new BMap.GeolocationControl());  //定位控件,针对移动端开发,默认位于地图左下方.  
        map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用  
        map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用  



		var marker = new BMap.Marker(point);        // 创建标注    
		map.addOverlay(marker); 

    </script>  

	<input placeholder="请输入商铺地址" id="address" required="true" type="text" />
	<input placeholder="点击自动获取坐标" readonly="true" id="shopcoord" type="text" />
	<input id="getPoint" type="button" value="获取坐标" />



</body>  
</html>  

 

 

 

 

这里调用百度的ip定位api服务 详见 http://api.map.baidu.com/lbsapi/cloud/ip-location-api.htm。

另附上jsonobject jar 包

 

来源:http://blog.csdn.net/xyw591238/article/details/50803582

 

 

猜你喜欢

转载自1960370817.iteye.com/blog/2384878