利用百度地图API进行根据ip定位城市

前端项目中使用百度地图api,含实例 前言 一、使用百度地图接口的步骤 二、简单例子 1.第一个地图 2.控件 3.静态/动态添加点圈线面 4.文字标注、信息窗口 5. Web服务API-IP定位服务 6.Web服务API-地点检索服务 三、vue项目中使用百度地图接口的简单方式 1.public下方的index.html中导入 2. .vue文件中 前言 项目中加入地图是很常见的需求,今天以百度地图为例,总结一下引入地图的方法与实例 一、使用百度地图接口的步骤 1.注册百度地图的开发者帐号👇 百度地图http. 阅读详情

根据ip进行定位城市,本次利用的是根据百度地图API进行定位.网上也有其他的方法.本次就将我自己写的东西总结一下:

一.首先获取ip地址

public static String getReqIp(HttpServletRequest request) throws IOException {
   String ip = request.getHeader("x-forwarded-for");
   if (ip != null) {
      if (ip.indexOf(',') == -1) {
         return ip;
      }
      return ip.split(",")[0];
   }

   if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
      ip = request.getHeader("Proxy-Client-IP");
   }
   if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
      ip = request.getHeader("WL-Proxy-Client-IP");
   }
   if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
      ip = request.getRemoteAddr();

   }

   String city=LocationByIp.getlocation(ip);//此处是有一个方法根据ip进行定位城市
   return ip+"+"+city;//返回城市和ip地址
}

二.调用百度地图API进行定位城市

1.首先要获取sncal签字,方法如下:

这里给出别人的方法连接:https://blog.csdn.net/weixin_39549656/article/details/80096456

这里的sncal是根据输入的位置和ip进行sncal算法进行计算得出sn签字.其中公司的AK是必须存在的!

2.若不输入位置,就是可以根据ip进行城市定位.

对上面的列子获取到的参数进行处理

String html = EntityUtils.toString(entity);// 把响应实体转成文本
JSONObject jsondata=JSONObject.parseObject(html);//将响应转换成json数组
Object content=jsondata.get("content");//获取内容
if (content!=null){
    JSONObject addressdetail=JSONObject.parseObject(content.toString());//将响应转换成json数组并获取地址信息
    Object dizhi=addressdetail.get("address_detail");//获取地址详细内容
    JSONObject dizhidetail=JSONObject.parseObject(dizhi.toString());//将响应转换成json数组

    //String province=dizhidetail.get("province").toString();//安徽省
    String city=dizhidetail.get("city").toString();//合肥市
    return city;
}else{
    return "本地登录";
}

 

百度地图城市代码 大全,可在页面 ctrl+F 快速查找 area_id,name 33,嘉峪关市 34,金昌市 35,白银市 36,兰州市 37,酒泉市 38,大兴安岭地区 39,黑河市 40,伊春市 41,齐齐哈尔市 42,佳木斯市 43,鹤岗市 44,绥化市 45,双鸭山市 46,鸡西市 47,七台河市 48,哈尔滨市 49,牡丹江市 50,大庆市 51,白城市 52,松原市 53,长春市 54,延边朝鲜族自治州 55,吉林市 56,四平市 57,白山市 58,沈阳市 59,阜新市 60,铁岭市 61,呼伦贝尔市 62,兴安盟 63,锡林郭勒盟 64,通辽市 阅读详情

相关推荐

使用百度地图api获取地理位置

JS使用百度地图api获取地理位置 文章目录JS使用百度地图api获取地理位置1.获取地图1.1使用步骤:1.2获取ak的步骤:1.3代码示例2.获取定位信息 1.获取地图 参考文档:获取地图文档 1.1使用步骤: 1.2获取ak的步骤: 获取地址:获取ak 获取完成后: 1.3代码示例 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>使用百度地图api获取地理

qq_41743601的博客 7432

百度地图IP定位

利用百度开放的API功能实现,怎么判断本机我外网IP地址,并在百度地图上显示,可惜由于API的限制,只能精确到市级!

通过ip定位经纬度,城市与国家

因为公司最近要做一个ip查询经纬度在地图上显示的功能,而且有海外的ip,所以高德地图百度地图这些收费的api就暂时先不考虑了。 寻觅了良久,终于找了一个符合我们目前需求的在线api,官网地址:https://ip-api.com/docs/api:json,还支持各种语言的返回结果哦 现在来写例子吧 pom.xml 加入lombok的依赖,主要是为了异常时打印日志 <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok.

weixin_43864927的博客 2496

百度地图API实现IP定位功能

申请AK个人测试可按下图填写记得申请完之后保留AK,下面会用到。

bianmy1的博客 2131

百度地图浏览器定位

百度地图浏览器定位,优先调用浏览器H5定位接口,如果失败会调用IP定位

m0_47165403的博客 888

百度API根据ip获取对应地区

1、ak 大家可以自行注册申请,此处略 2、代码 import com.alibaba.fastjson.JSON; import com.picc.common.util.http.HttpClientUtils; import com.picc.vx.report.service.provider.third.service.BaiDuService; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; imp

春风化雨 2815

利用百度地图API获取当前位置信息

利用百度地图API可以做很多事情,个人感觉最核心也是最基础的就是定位功能了。这里分享一个制作的JS可以实现登录网页后定位: 1 <script type="text/javascript"> 2 var map; 3 var gpsPoint; 4 var baiduPoint; 5 var gpsAddress; 6 var baiduAddre...

weixin_30611509的博客 469

百度地图利用位置提供服务器,利用百度地图API获取当前位置信息的实例

利用百度地图API可以做很多事情,个人感觉最核心也是最基础的就是定位功能了。这里分享一个制作的JS可以实现登录网页后定位:var map;var gpsPoint;var baiduPoint;var gpsAddress;var baiduAddress;var x;var y;function getLocation() {//根据IP获取城市var myCity = new BMap.Loc...

weixin_34864191的博客 576

JS获取当前IP地址所在地区的中心点坐标,并(在线搜狐方法)

1、现在index.html首页中引用文件 <scriptsrc="http://pv.sohu.com/cityjson?ie=utf-8"></script> 2、根据在线的接口获取点位置 BaiduApiUrl:'http://api.map.baidu.com/location/ip', LocationAk:'...........................................', /*根据ip地址获取定位信息*/ ...

baicai_123的专栏 457

如何根据普通ip地址获取当前地理位置(利用百度API

前言: 我们现在需要做的功能是根据ip地址获取当前地理位置,是Web 服务API,获取后的位置信息一般是城市级别的,不是很精确的那种获取。 (1)开发者需要做的准备工作: 需要登录百度地图api,点击web 服务API. 开发文档的地址:http://lbsyun.baidu.com/index.php?title=webapi/ip-api 请求的URL 有俩个, http://api.map.baidu.com/location/ip?ak=您的AK&ip=您的IP&

zibingdechengbao的博客 7024

百度地图】通过IP获取地区,百度地图城市代码获取

343,黔西南布依族苗族自治州。84,克孜勒苏柯尔克孜自治州。107,红河哈尼族彝族自治州。116,德宏傣族景颇族自治州。274,湘西土家族苗族自治州。306,黔南布依族苗族自治州。342,黔东南苗族侗族自治州。373,恩施土家族苗族自治州。65,海西蒙古族藏族自治州。109,西双版纳傣族自治州。177,文山壮族苗族自治州。185,阿坝藏族羌族自治州。86,巴音郭楞蒙古自治州。88,博尔塔拉蒙古自治州。113,怒江傈僳族自治州。1642,昌江黎族自治县。1643,陵水黎族自治县。2032,乐东黎族自治县。

后端研发工程师Marion的博客 2140

C#的百度地图开发(五)IP定位

前面我们已经实现了坐标定位及前端显示,而坐标的获取一般只在移动设备上,对于PC端难以得到。但是在PC端,我们可以得到相应的IP。在得到了IP之后,我们就可以进行定们了。代码如下: public class BaiduMap { /// /// 依据IP获取定位信息的URL模板。 /// 参数1:百度地图API的KEY。 ///

学而时习之 3957

百度地图APIIP定位城市和浏览器定位(转)

百度地图API提供了Geolocation和LocalCity两个服务类。 这俩API可以分别供用户在JavaScript中进行定位城市确认。 1 本质上,Geolocation这个类是使用了支持HTML5浏览器提供的Geolocation API 来进行定位的。目前Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定...

178

vue中获取获取当前城市地址_在Vue项目用百度地图通过IP定位获取当前城市名字...

1.首先我们先在本地获取到城市定位body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}IP定位获取当前城市// 百度地图API功能//var map = new BMap.Map("allmap");//var point = new BMap.Point(116.33...

weixin_39900437的博客 1210

java百度api ip定位_百度地图APIIP定位城市和浏览器定位(转)

这俩API可以分别供用户在JavaScript中进行定位城市确认。1 本质上,Geolocation这个类是使用了支持HTML5浏览器提供的Geolocation API 来进行定位的。目前Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位(因为他们支持HTML5)。2 本质上,LocalCity这个类是利用用户IP地址去百度数据库...

weixin_30036289的博客 591

百度地图API定位您的当前位置

1.介绍 利用百度地图API定位您的所属位置,这个位置返回的是经纬度,而不是具体的汉字位置。利用经纬度,再显示在百度地图上的位置。 2.代码 &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /......

qq_39702981的博客 2万+

高德地图IP地址转换成经纬度只能定位城市范围的问题及百度地图API实现高铁线路连线的示例

因业务需要,将IP地址转换成经纬度,记录一下。调用方法很简单,先申请web服务 API密钥(Key);注意根据你的调用方式选择key, 我这里是通过web接口调用,所以选择web服务。不然会把key的类型错误。然后拼接HTTP请求URL,并带上第一步申请的Key;=output可以是xml,也可以是json, 如请求: restapi.amap.com/v3/ip?需要清楚的是返回的rectangle是所在城市矩形区域范围,即所在城市范围的左下右上对标对,并不是IP地址准确的经纬度值。

本博客记录了从2014年以来在工作学习中遇到的技术问题、解决方法以及部分个人人生经历、经验等内容。 2400

js-web跨域实现百度地图普通ip定位

web页面跨域使用百度地图的普通IP定位API获取当前地点

技术渣的碎片 4148
上一篇: java中的jdk环境变量配置
下一篇: 去除从后台读取数据中的HTML标签及空格
天狼伯爵
博客等级 码龄11年 3粉丝 17原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值