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
扫描二维码关注公众号,回复:
1090577 查看本文章