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
相关推荐
二、Java定位打印 定位打印通常是指在输出时对文本的位置进行精确控制,使其按照指定的位置排列。在Java中,可以使用以下方式实现: 1. 换行符和空格:通过控制换行符(\n)和空格的数量,可以实现简单的文本定位。 ...
对于Java定位,我们需要在Android项目中引入百度地图SDK的相关库。在Android Studio中,可以通过Gradle依赖的方式添加: ```groovy dependencies { implementation 'com.baidu.mapapi:baidumapapi:5.1.0' } ``` ...
### Java定位打印详解 #### 一、引言 在日常工作中,打印功能是必不可少的一部分,尤其是在需要输出报表、文档等场景下。对于Java开发者来说,掌握如何在Java中实现定位打印是非常重要的技能之一。尽管Java早期...
Java定位打印技术是一种在网页上实现精确控制打印内容布局的方法,尤其在报表或者发票等需要规范格式输出的场景中非常常见。在这个实例中,我们利用Java结合JSP(JavaServer Pages)来实现在浏览器中预览并打印指定...
Java打印最大的改变来自于J2SE1.4的发布带来的Java打印服务API。这个第三代Java打印支持接口突破了先前提到的局限性。因为新的API就是以前两种旧的打印机制定义的功能函数的一个父集。
在Java编程语言中,"定位打印"是一种技术,允许开发者精确控制输出内容在终端或打印机上的位置。这种技术常用于创建报表、表格或其他需要精确布局的文本输出。本篇文章将深入探讨如何使用Java实现定位打印。 首先,...
Java问题定位技术是解决Java应用中常见问题的一套方法论,特别涉及大型应用系统在运行时的稳定性与可靠性问题。从提供的文件内容来看,该文档涵盖了多个与Java问题定位相关的议题,其中包括内存泄漏定位、线程堆栈...
在本项目中,我们主要探讨的是使用JAVA技术栈开发的一款上课考勤系统,该系统集成了后台管理功能、小程序前端的GPS签到以及定位打卡机制,还有对迟到情况的统计分析。这个系统的开发基于Spring Boot框架,使得整体...
在这个特定的应用场景中,我们利用 JavaCV 对图片进行文字识别(OCR,Optical Character Recognition),以定位并提取指定文字在图片中的位置坐标,同时优化识别速度。 首先,我们需要了解 OCR 的基本概念。OCR ...
本文将深入探讨基于JAVA开发的手机GPS定位系统以及与之相关的371通讯协议。这个DEMO程序的目标是收集并存储手机设备的位置信息,以便于后续的数据分析和追踪。 首先,我们要理解JAVA在开发手机GPS定位系统中的作用...
利用java自动识别图片中的二维码并解析二维码中的数据利用java自动识别图片中的二维码并解析二维码中的数据利用java自动识别图片中的二维码并解析二维码中的数据利用java自动识别图片中的二维码并解析二维码中的数据...
`FilterSmooth.java`文件很可能实现了其中的一种或多种滤波器,通过迭代更新GPS点位,从而降低定位误差并保持轨迹连续性。 3. **LocationConvert.java**:此文件可能包含将原始GPS坐标转换为其他坐标系(如WGS84、...
本篇文章将深入探讨如何利用Java进行蓝牙定位,以及蓝牙精确定位在3维空间的应用。 首先,蓝牙定位依赖于蓝牙低功耗(Bluetooth Low Energy, BLE)技术,它允许设备间进行短距离、低功耗的数据传输。在Java环境中,...
本篇文章将深入探讨如何使用iText库在Java中实现PDF关键字定位。iText是一个强大的PDF处理库,它提供了丰富的API来创建、编辑和读取PDF文档。 首先,我们需要在项目中引入iText库。你提到的`itextpdf-5.5.6.jar`是...
示范动态分段功能,动态定位某点的位置。 具体步骤:以线的长度的方式生成路由数据集,通过地图单击获取需要定位的点,计算获得离点最近的弧段,得到弧段的ID,点离弧段的最短距离,以及点在弧段上的垂足点离弧段近...
此文件为纯java编写的GPS坐标转换到高德地图坐标,直接将文件添加到工程目录,调用转换函数即可,输入是double类型,输出是double数组,注意:输入输出数据的单位都是度。
本书介绍的定位技术主要有:内存泄漏定位,线程堆栈分析等。内存定位套路比较固定, 但线程堆栈分析需要一定的火候,它需要一定的悟性和长期的修炼。在可靠性和稳定性问题 的定位中,线程堆栈分析是最有力的武器,...
Java问题定位技术是Java开发过程中不可或缺的一环,它涉及到对应用程序的性能监控、错误排查以及异常处理等多个方面。本文将深入探讨如何有效地定位Java中的内存泄漏、线程死锁和CPU占用过高等常见问题。 首先,...
在JAVA编程环境中,我们可以实现这种算法来为移动设备或其他需要定位的物体提供准确的位置信息。下面将详细介绍三角质心定位法的原理以及如何在JAVA中实现。 三角质心定位法基于几何原理,假设我们有三个已知位置的...