


Implementierung von Amap und Baidu Map zum Extrahieren der Längen- und Breitengradkoordinaten von Verwaltungsregionsgrenzen basierend auf JavaScript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标_javascript技巧
前言
近来由于工作需要,需要提取某些城市的经纬度坐标,稍微搜索了一下,发现百度地图和高德地图都提供了相关的函数和例子.那么剩余的工作也就比较简单了,保存坐标,然后转换为WGS坐标,这样才能和现有的GPS数据以及地图匹配.
主要问题和解决方法
本地保存文件跨浏览器支持
由于安全的原因,JavaScript本地保存文件的方式通常都只有IE支持的ActiveXObject/Open方法,每次都要提示不安全和允许运行,非常麻烦.好在其他浏览器目前都支持标签实现文件下载的方法.经测试最新的Google Chrome, Mozilla Firefox,百度浏览器,360浏览器下都可以运行.不说废话,直接上代码:
function Download() { // IE if(/msie/i.test(navigator.userAgent)) { var w = window.open("", "导出", "height=0,width=0,toolbar=no,menubar=no,scrollbars=no,resizable=on,location=no,status=no"); var filename = document.getElementById("filename").value ; var content = document.getElementById("content").value; w.document.charset = "UTF-8"; w.document.write(content); w.document.execCommand("SaveAs", false, filename+'.txt'); w.close(); } // Firefox/Chrome/Safari/Opera else { var filename = document.getElementById("filename").value ; var content = document.getElementById("content").value; str = encodeURIComponent(content); document.getElementById("SaveChrome").download = filename+'.txt'; var aLink = document.getElementById("SaveChrome") ; aLink.href = "data:text/csv;charset=utf-8,"+str; aLink.click(); } }
经纬度转换
这个话题感兴趣的朋友可以自己搜索火星坐标相关转换,精度在1m范围的网上提供有服务可以免费使用.自写程序经验证精度在6m 以内.
百度地图方法
关键函数是 BMap.Boundary() 生成的类,调用它的方法get就可以通过名称获得县或市级以上的行政区域.
function getBoundary() { var bdary = new BMap.Boundary(); var name = document.getElementById("districtName").value; bdary.get(name, function (rs) { //获取行政区域 var fileName = ""; var newFileObject = fso.CreateTextFile(folderName + "\\" + name + ".txt", true); map.clearOverlays(); //清除地图覆盖物 var count = rs.boundaries.length; //行政区域的点有多少个 for (var i = 0; i < count; i++) { var ply = new BMap.Polygon(rs.boundaries[i], { strokeWeight: 2, strokeColor: "#ff0000" }); //建立多边形覆盖物 map.addOverlay(ply); //添加覆盖物 map.setViewport(ply.getPath()); //调整视野 } newFileObject.write(rs.boundaries[0]); newFileObject.Close(); }); }
高德地图
关键代码通过阅读示例文件可以发现在下拉列表返回里面有边界值的出现.
amapAdcode.search = function(adcodeLevel, keyword, selectId) {//查询行政区划列表并生成相应的下拉列表 var me = this; if (adcodeLevel == 'district'||adcodeLevel == 'city') {//第三级时查询边界点 this._district.setExtensions('all'); } else { this._district.setExtensions('base'); } this._district.setLevel(adcodeLevel); //行政区级别 this._district.search(keyword, function(status, result) {//注意,api返回的格式不统一,在下面用三个条件分别处理 var districtData = result.districtList[0]; if (districtData.districtList) { me.createSelectList(selectId, districtData.districtList); } else if (districtData.districts) { me.createSelectList(selectId, districtData.districts); } else { document.getElementById(selectId).innerHTML = ''; } map.setCenter(districtData.center); me.clearMap(); me.addPolygon(districtData.boundaries);
其中的districtData.boundaries 就是我们需要的.调试了一下,大胆猜测果然是实现了Tostring() 方法的一个对象.
"104.639106,26.863388,104.644771,26.861842,104.64767,26.854997,104.647748..." 很明显的就是我们需要的gcj坐标.
总结
至此,基本也就没有什么问题了,剩余的工作就是解析得到的文件.需要提取全国的数据也就是循环读取全国城市列表文件了.(通常搜索cityname,电脑里面都会找到的,原因,呵呵,猜测是迅雷,QQ之类的IP定位需要吧.)
重要的一点,推荐使用高德地图,原因就是百度地图得到的行政规划有问题,不包含县级市.最典型的就是贵州省,很多地市都是分离的,是带岛或洞的复杂多边形.百度在这里完败.关于怎么处理这里复杂的多边形以支持在MapWinGIS显示和处理,下次会写一篇笔记.
以上就是基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标_javascript技巧的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

1. Installieren und öffnen Sie zunächst die Amap-App auf Ihrem Mobiltelefon, klicken Sie auf [Mein] und wählen Sie [Anmelden/Registrieren]. 2. Wählen Sie bei Bedarf eine Mobiltelefonnummer, WeChat oder Alipay aus, um sich zu registrieren, und geben Sie gemäß den Anweisungen persönliche Informationen ein, einschließlich Mobiltelefonnummer, Passwort usw. 3. Klicken Sie nach Abschluss des Ausfüllens auf [Registrieren], um die Kontoregistrierung abzuschließen. 4. Verwenden Sie anschließend die bei der Registrierung ausgewählte Methode zur Anmeldebestätigung. Wenn Sie sich über eine Mobiltelefonnummer registrieren, müssen Sie zum Anmelden Ihre Mobiltelefonnummer und Ihr Passwort eingeben.

Ja, aus Sicherheitsgründen, personalisierten Diensten und der Kontoverwaltung erfordert Amap eine Registrierung mit einer Mobiltelefonnummer. Die Registrierungsschritte umfassen: Öffnen Sie die Amap-App, klicken Sie auf „Mein“ und „Anmelden/Registrieren“, wählen Sie eine Mobiltelefonnummer zur Registrierung aus, geben Sie die Mobiltelefonnummer ein, um den Bestätigungscode zu erhalten, und legen Sie ein Passwort fest, um die Registrierung abzuschließen.

Diese Website berichtete am 24. Juli, dass Moore Thread und Baidu Maps kürzlich eine strategische Kooperationsvereinbarung unterzeichnet haben. Beide Parteien werden ihre jeweiligen Technologie- und Produktvorteile nutzen, um gemeinsam technologische Innovationen bei digitalen Zwillingskarten voranzutreiben. Gemäß der Kooperationsvereinbarung werden sich die beiden Parteien auf den Aufbau des Digital-Twin-Kartenprojekts konzentrieren und dabei die Vorteile der Karten-Engine von Baidu Map, die Vorteile der Digital-Twin-Technologie, die Vorteile von Karten-Big-Data-Anwendungen sowie die 3D-Grafik-Rendering- und KI-Computing-Technologie nutzen Die Vorteile von Moores Thread-GPU mit vollem Funktionsumfang sind für die aktive Durchführung einer intensiven und umfassenden kontinuierlichen Zusammenarbeit geeignet, um gemeinsam die Anwendung und groß angelegte Implementierung digitaler Zwillingskartenlösungen zu fördern. Laut der offiziellen Einführung von Moore Thread sind Kartendaten ein wichtiger Vermögenswert des Landes, und digitale Zwillingskarten unterstreichen insbesondere ihre Bedeutung in Rendering-Szenarien mit hoher Auslastung, die erhebliche Auswirkungen auf die Rendering-Leistung und die Leistung von GPUs haben.

Zu den Gründen, warum in der Amap-Navigation kein Ton zu hören ist, gehören eine falsche Verbindung der Lautsprecher, eine Verringerung der Gerätelautstärke, falsche Amap-Einstellungen, Hintergrundstörungen bei Anwendungen, der Stumm- oder Vibrationsmodus des Mobiltelefons sowie Probleme mit den Systemberechtigungen. Die Lösungen sind wie folgt: Überprüfen Sie die Lautstärke. Überprüfen Sie die Einstellungen für die Amap-Karte.

Laut Nachrichten vom 16. April haben Xiaomi-Benutzer kürzlich eine praktische neue Funktion begrüßt – Xiaomi CarWith hat die Amap-Spurnavigation offiziell eingeführt. Die Einführung dieses Dienstes wird den Fahrern zweifellos ein genaueres und komfortableres Navigationserlebnis bieten. Den Daten zufolge wurde durch die Integration von Amap und CarWith eine nahtlose Verbindung erreicht, und Benutzer können die präzise Führung der Spurnavigation direkt erleben, ohne dass zusätzliche Software-Updates erforderlich sind. Diese Verbesserung wird wahrscheinlich serverseitig vorgenommen, wodurch Benutzern der mühsame Aktualisierungsschritt erspart bleibt. Die Navigation auf Autospurebene ist eine innovative Funktion von Amap. Sie kann die tatsächliche Straßenführung weitgehend auf dem Bildschirm wiederherstellen und die Anzahl der Fahrspuren, Bodenschilder, Ein- und Ausfahrten, Sonderspuren und andere Informationen zur aktuellen Straße deutlich anzeigen , was den Fahrern ein umfassenderes ,

Die neueste Version der mobilen Version von Kongying Tavern Genshin Impact Map ist eine einzigartige Kartenhilfssoftware, die speziell für Genshin Impact-Fans entwickelt wurde. Diese Software bietet detaillierte Informationen zu den wichtigsten Spielkarten verschiedener Bereiche in Genshin Impact Spieler können verschiedene Arten von Problemen in Genshin Impact online lösen. Wie synchronisiere ich die Kongying Tavern-Karte mit der mobilen Version von Genshin Impact? 1. Zuerst müssen Sie die neueste Version herunterladen und nach der Installation in Form eines schwebenden Fensters ausführen. 2. Öffnen Sie dann Genshin Impact und betreten Sie das Spiel. Wenn Sie die Spielkarte öffnen, können Sie viele Markierungen sehen. 3. Spieler können die Ressourcen-Tags auswählen, die sie links anzeigen möchten. 4. Dann müssen Sie nur noch zum markierten Ort gehen und entsprechende Vorgänge ausführen, um die gewünschten Ressourcen-Requisiten zu erhalten. 5. Abschließend können Sie auf die obere rechte Ecke klicken

Schritte zum Anzeigen von Reisedatensätzen auf Amap: 1. Melden Sie sich bei Amap an. 2. Geben Sie „Meine“ → „Meine Reise“ ein. 4. Klicken Sie, um Details anzuzeigen. .

Amap APP ist eine professionelle und benutzerfreundliche kostenlose Kartennavigationssoftware. Sie verfügt über eine Vielzahl von Funktionen, die unser Leben erheblich erleichtern können Einige Straßenkarten oder Anfragen zu Längen- und Breitengraden können hier gelöst werden. Die Bedienung ist einfach und bequem und übersteigt Ihre Vorstellungskraft. Oftmals gefällt es den Menschen, sich sicherer zu fühlen, was sehr gut ist . Bei einigen Kindern oder älteren Menschen zu Hause macht es den Menschen oft mehr Sorgen, wenn sie auf verschiedene Situationen stoßen. Sie können die Situation vermeiden, in der sich alle verirren.
