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全球定位系统定位数据的提取 #### 引言 全球定位系统(Global Positioning System,简称GPS)是一种重要的导航技术,广泛应用于车辆跟踪、个人定位、地图绘制等领域。GPS系统主要由三大部分组成:...
此文件为纯java编写的GPS坐标转换到高德地图坐标,直接将文件添加到工程目录,调用转换函数即可,输入是double类型,输出是double数组,注意:输入输出数据的单位都是度。
本书介绍的定位技术主要有:内存泄漏定位,线程堆栈分析等。内存定位套路比较固定, 但线程堆栈分析需要一定的火候,它需要一定的悟性和长期的修炼。在可靠性和稳定性问题 的定位中,线程堆栈分析是最有力的武器,...
Java问题定位技术是Java开发过程中不可或缺的一环,它涉及到对应用程序的性能监控、错误排查以及异常处理等多个方面。本文将深入探讨如何有效地定位Java中的内存泄漏、线程死锁和CPU占用过高等常见问题。 首先,...