天地图行政区域数据获取
天地图行政区域数据接口下架了,通过高德地图接口获取数据然后转换天地图经纬度坐标
高德地图应用需要 选择服务平台 Web端(JS API)
就两个html,随意用个http服务打开就行
<!doctype html>
<html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"><script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script><script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=xxxxxxxxxxxx&plugin=AMap.DistrictSearch"></script><script src="http://api.tianditu.gov.cn/api?v=4.0&tk=xxxxxxxx" type="text/javascript"></script><script src="https://cdn.bootcss.com/FileSaver.js/1.3.8/FileSaver.js"></script><style type="text/css">html,body,#container,#container2 {height: 100%;}</style></head><body><input type="text" id="search_txt" placeholder="请输入省市区" /><input type="button" value="搜索" onclick="search_()" /><button type="button" onclick="export_()">获取中心点ZOOM导出JSON</button><div id="container" style="width: 600px;float: left;"></div><div id="container2" style="width: 600px;float: left;"></div><script type="text/javascript">function export_() {center = map2.getCenter();zoom = map2.getZoom()let data = {"center":center,"zoom":zoom,"polygons":polygons}var content = JSON.stringify(data);var blob = new Blob([content], {type: "text/plain;charset=utf-8"});saveAs(blob, search + ".json");}var center = {"lng": null,"lat": null};var polygons = [];var search = "", zoom = 10;function search_() {search = $("#search_txt").val();if (search == '') {alert("请输入省市区");return false;} else {AMap.service('AMap.DistrictSearch', function() { //回调函数var opts = {//subdistrict: 1, //返回下一级行政区level: 'city', //查询的范围//showbiz:false ,//查询行政级别为 市extensions: 'all',};districtSearch = new AMap.DistrictSearch(opts);districtSearch.search(search , function(status, result) {var bounds = result.districtList[0].boundariescenter = {"lng": null,"lat": null}polygons = [];if (bounds) {let lngSum = 0,latSum = 0,count = 0;for (var i = 0, l = bounds.length; i < l; i++) {//高德地图画面var polygon = new AMap.Polygon({map: map,strokeWeight: 1,path: bounds[i],fillOpacity: 0.7,fillColor: '#CCF3FF',strokeColor: '#CC66CC'})//天地图画面var points = [];$.each(bounds[i], function(j, jtem) {let t = transformGCJ2WGS(jtem['lat'], jtem['lng']);points.push(t);count++;latSum += t['lat'];lngSum += t['lng'];})map2.addOverLay(new T.Polygon(points, {color: "blue",weight: 1,opacity: 0.5,fillColor: "#CCF3FF",fillOpacity: 0.7}));polygons.push(points);}// 地图自适应map.setFitView()center.lng = (lngSum / count).toFixed(8);center.lat = (latSum / count).toFixed(8)map2.centerAndZoom(center, 10);}})})}}var map = new AMap.Map('container', {resizeEnable: true,center: [120.074952, 31.554421],});var map2 = new T.Map('container2');map2.centerAndZoom({"lng": 120.074952,"lat": 31.554421}, zoom);var PI = 3.14159265358979324;function transformGCJ2WGS(gcjLat, gcjLng) {let d = delta(gcjLat, gcjLng)return {'lat': gcjLat - d.lat,'lng': gcjLng - d.lng}}function delta(lat, lng) {let a = 6378245.0 // a: 卫星椭球坐标投影到平面地图坐标系的投影因子。let ee = 0.00669342162296594323 // ee: 椭球的偏心率。let dLat = transformLat(lng - 105.0, lat - 35.0)let dLng = transformLng(lng - 105.0, lat - 35.0)let radLat = lat / 180.0 * PIlet magic = Math.sin(radLat)magic = 1 - ee * magic * magiclet sqrtMagic = Math.sqrt(magic)dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * PI)dLng = (dLng * 180.0) / (a / sqrtMagic * Math.cos(radLat) * PI)return {'lat': dLat,'lng': dLng}}function transformLat(x, y) {let ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x))ret += (20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0 / 3.0ret += (20.0 * Math.sin(y * PI) + 40.0 * Math.sin(y / 3.0 * PI)) * 2.0 / 3.0ret += (160.0 * Math.sin(y / 12.0 * PI) + 320 * Math.sin(y * PI / 30.0)) * 2.0 / 3.0return ret}function transformLng(x, y) {let ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x))ret += (20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0 / 3.0ret += (20.0 * Math.sin(x * PI) + 40.0 * Math.sin(x / 3.0 * PI)) * 2.0 / 3.0ret += (150.0 * Math.sin(x / 12.0 * PI) + 300.0 * Math.sin(x / 30.0 * PI)) * 2.0 / 3.0return ret}</script></body>
</html>
效果如下,点击按钮可以导出JSON,结构{"center":{"lat":xxxx,"lng":xxxx},"zoom":10,"polygons":[[{"lat":xxx,"lng":xxx}...],[{"lat":xxx,"lng":xxx}...]...]}
天地图加载行政区域效果
<div id="container" style="float: left;width: 1000px;"></div>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script><script src="http://api.tianditu.gov.cn/api?v=4.0&tk=xxxxxx" type="text/javascript"></script>
<script type="text/javascript">var map$(function() {$.getJSON("xxx.json", function(result) {map = new T.Map('container');map.centerAndZoom(result.center, result.zoom);$.each(result.polygons, function(i, item) {//创建面对象var polygon = new T.Polygon(item,{color: "blue", weight: 1, opacity: 0.5, fillColor: "#CCF3FF", fillOpacity: 0.7});//向地图上添加面map.addOverLay(polygon);})});})
</script>
效果,线条,背景颜色透明度什么的按需调整
天地图行政区域数据获取相关推荐
- 天地图专题七:行政区域标记,热力图(以广西为例)
天地图方面的文章已很久不写. 主要是因为上一个项目结束,基本就不用天地图了.用百度地图的可能更大一些. 最近上个项目甲方想搞一个类似热力图,热点图的东西.在天地图API上没有找到类似的直接画热力图的接 ...
- 天地图行政区划描边_天地图专题七:行政区域标记,热力图(以广西为例)
天地图方面的文章已很久不写. 主要是因为上一个项目结束,基本就不用天地图了.用百度地图的可能更大一些. 最近上个项目甲方想搞一个类似热力图,热点图的东西.在天地图API上没有找到类似的直接画热力图的接 ...
- 省市区三级行政区数据获取和GeoJson地图下载
文章目录 1.背景 2.行政区域数据获取 3.获取GeoJson数据 1.背景 项目中用到省市区三级的行政区划的选择,在网上找到的数据与最新的行政区域划分不一致,也难以确认数据的完成性. 基于echa ...
- 百度高德地图行政区域边界GeoJSON数据获取并绘制行政区域
highcharts 是提供地图数据包的:https://www.highcharts.com/docs/maps/map-collection echart矢量地图或者地图绘制矢量图层,GeoJSO ...
- 天地图开发--打点,圈画行政区域
** 1.首先在静态页面引入天地图js文件** <script src="http://api.tianditu.gov.cn/api?v=4.0&tk=密钥" ty ...
- 【数据获取】GGGIS下载谷歌、天地图等地图数据
以下文章来源于公众号:城市数据百宝箱,作者小黄鸭 在本篇文章里介绍一个还能下载谷歌.天地图的地图下载器--GGGIS,它除了能下载谷歌.天地图地图数据外,还能下载百度.高德地图数据.下面就跟我们一起 ...
- arcgis加载天地图_ArcGIS Runtime SDK for Android100.5.0端加载天地图服务
点击图片上方蓝色字体GIS点滴即可订阅 我们都知道,天地图服务的调用都需要获取授权.在这种模式下,之前通过WebTiledLayer加载的方式在Android端就无法显示了,由下图可知,虽然正确发送了 ...
- 重磅消息!天地图2021版正式启用!首次发布高清地图,实现电子地图无级缩放
近日,地理信息公共服务平台(天地图)2021版正式启用,全面更新了在线服务地理信息数据,首次发布高清版地图,推出了使用更为便捷的新版地图网站和搜索服务2.0,平台网络安全防护能力进一步增强. 图 1 ...
- 1951-2023最新中国基础地理信息,包括水系、行政区、DEM高程、气象站经纬位置、土地利用,这些数据获取方法介绍
水系: 流域内所有河流.湖泊等各种水体组成的水网系统,称作水系.其中,水流最终流入海洋的称作外流水系,如太平洋水系.北冰洋水系:水流最终流入内陆湖泊或消失于荒漠之中的,称作内流水系. [1] 流域面积 ...
最新文章
- java oauth sso 源码_基于Spring Security Oauth2的SSO单点登录+JWT权限控制实践
- How Browser Works
- Python快速入门(1)
- ConcurrentHashMap的源码分析-put方法第四阶段
- 2017-2018-1 20155324 《信息安全系统设计基础》第十四周学习总结
- 使用sklearn进行数据挖掘
- 会做饭的机器人曰记_做饭机器人作文作文300字
- Linux CentOS 6.5 操作环境下修改mysql数据库密码
- 计算机网络技术期末应用试卷,中专学校2016年《计算机网络技术与应用》期末考试题(考试卷与答案)...
- 管理新语:说说工作的主动权
- win10下用VM 14安装OS X 10.11
- 计算机基础应用模拟考试软件,全国计算机等级考试全真训练模拟考试软件一级基础及MS-Office应用...
- Alexa | Alexa Auto SDK 概述
- 引脚复用和引脚重映射
- selenium+java打开新标签页方法
- 计算机的开机键的英语,每次开机出现英文(按任意键),才能进入电脑,好烦...
- C++常用的音频工具库
- kali CeWL密码攻击工具 Linux字典生成工具 自定义单词列表生成器
- 修复损坏的gz或tar.gz压缩文件之方法篇
- 拼多多拼单显示内部服务器错误,拼多多为什么拼不了?拼多多怎么拼单?