Maison interface Web js tutoriel Implémentation d'Amap et Baidu Map pour extraire les coordonnées de longitude et de latitude des limites des régions administratives basées sur JavaScript

Implémentation d'Amap et Baidu Map pour extraire les coordonnées de longitude et de latitude des limites des régions administratives basées sur JavaScript

Mar 30, 2017 am 10:34 AM

基于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(); 
}
}
Copier après la connexion

经纬度转换

这个话题感兴趣的朋友可以自己搜索火星坐标相关转换,精度在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();
});
}
Copier après la connexion

高德地图

关键代码通过阅读示例文件可以发现在下拉列表返回里面有边界值的出现.


amapAdcode.search = function(adcodeLevel, keyword, selectId) {//查询行政区划列表并生成相应的下拉列表
var me = this;
if (adcodeLevel == &#39;district&#39;||adcodeLevel == &#39;city&#39;) {//第三级时查询边界点
this._district.setExtensions(&#39;all&#39;);
} else {
this._district.setExtensions(&#39;base&#39;);
}
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 = &#39;&#39;;
}
map.setCenter(districtData.center);
me.clearMap();
me.addPolygon(districtData.boundaries);
Copier après la connexion

其中的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)!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment s'inscrire à l'Amap Comment s'inscrire à l'Amap Apr 08, 2024 pm 04:39 PM

1. Installez et ouvrez d'abord l'application Amap sur votre téléphone mobile, cliquez sur [Mon] et sélectionnez [Connexion/Enregistrement]. 2. Sélectionnez un numéro de téléphone mobile, WeChat ou Alipay pour vous inscrire selon vos besoins et remplissez les informations personnelles selon les invites, y compris le numéro de téléphone mobile, le mot de passe, etc. 3. Après avoir terminé le remplissage, cliquez sur [S'inscrire] pour terminer l'enregistrement du compte. 4. Ensuite, utilisez la méthode sélectionnée lors de l'inscription pour la vérification de la connexion. Si vous vous inscrivez via un numéro de téléphone mobile, vous devez saisir votre numéro de téléphone mobile et votre mot de passe pour vous connecter.

Amap nécessite-t-il l'enregistrement d'un téléphone mobile ? Amap nécessite-t-il l'enregistrement d'un téléphone mobile ? May 05, 2024 pm 05:12 PM

Oui, pour des raisons de sécurité, de services personnalisés et de gestion de compte, Amap nécessite une inscription avec un numéro de téléphone mobile. Les étapes d'inscription comprennent : Ouvrez l'application Amap, cliquez sur « Mon » et « Connexion/Enregistrement », sélectionnez un numéro de téléphone mobile pour vous inscrire, entrez le numéro de téléphone mobile pour obtenir le code de vérification, définissez un mot de passe pour terminer l'inscription.

Moore Threads a signé une coopération stratégique avec Baidu Maps pour créer une nouvelle génération de cartes jumelles numériques Moore Threads a signé une coopération stratégique avec Baidu Maps pour créer une nouvelle génération de cartes jumelles numériques Jul 25, 2024 am 12:31 AM

Ce site Web a rapporté le 24 juillet que Moore Thread et Baidu Maps avaient récemment signé un accord de coopération stratégique. Les deux parties tireront parti de leurs avantages respectifs en matière de technologie et de produits pour promouvoir conjointement l'innovation technologique dans le domaine des cartes jumelles numériques. Selon l'accord de coopération, les deux parties se concentreront sur la construction du projet de carte jumelle numérique, en tirant parti des avantages du moteur de carte de Baidu Map, des avantages de la technologie du jumeau numérique, des avantages des applications cartographiques Big Data, ainsi que du rendu graphique 3D et de la technologie informatique de l'IA. Les avantages du GPU complet de Moore pour mener activement une coopération continue approfondie et étendue favoriseront conjointement l'application et la mise en œuvre à grande échelle de solutions de cartes jumelles numériques. Selon l'introduction officielle de Moore Thread, les données cartographiques sont un atout clé du pays, et les cartes jumelles numériques soulignent particulièrement leur importance dans les scénarios de rendu à charge élevée, ce qui a un impact significatif sur les performances de rendu et les performances des GPU.

Pourquoi n'y a-t-il pas de son dans la navigation Amap ? Pourquoi n'y a-t-il pas de son dans la navigation Amap ? Apr 02, 2024 am 05:09 AM

Les raisons pour lesquelles il n'y a pas de son dans la navigation Amap incluent une mauvaise connexion des haut-parleurs, une baisse du volume de l'appareil, des paramètres Amap incorrects, des interférences d'application en arrière-plan, le mode silencieux ou vibreur du téléphone portable et des problèmes d'autorisation du système. Les solutions sont les suivantes : vérifiez la connexion du haut-parleur ; réglez le volume ; vérifiez les paramètres de la carte Amap ; fermez les applications en arrière-plan ; accordez les autorisations ; redémarrez l'appareil ;

Xiaomi CarWith s'associe à Amap pour ouvrir une nouvelle ère de navigation au niveau des voies Xiaomi CarWith s'associe à Amap pour ouvrir une nouvelle ère de navigation au niveau des voies Apr 16, 2024 pm 08:34 PM

Selon les informations du 16 avril, les utilisateurs de Xiaomi ont récemment accueilli une nouvelle fonctionnalité pratique : Xiaomi CarWith a officiellement lancé la navigation sur les voies Amap. Le lancement de ce service apportera sans aucun doute aux conducteurs une expérience de navigation plus précise et plus pratique. Selon les données, l'intégration d'Amap et de CarWith a permis d'obtenir une connexion transparente et les utilisateurs peuvent directement bénéficier du guidage précis de la navigation au niveau des voies sans avoir besoin de mises à jour logicielles supplémentaires. Cette amélioration sera probablement apportée côté serveur, évitant ainsi aux utilisateurs l'étape fastidieuse de mise à jour. La navigation automobile au niveau des voies est une fonction innovante d'Amap. Elle peut restaurer le tracé réel de la route à un degré élevé sur l'écran, affichant clairement le nombre de voies, les panneaux au sol, les entrées et sorties, les voies spéciales et d'autres informations sur la route actuelle. , offrant aux conducteurs une information plus complète,

Genshin Impact Comment Kongying Tavern peut-il être dans le même jeu que le jeu ? Comment la carte de Kongying Tavern peut-elle être synchronisée avec la version mobile ? Genshin Impact Comment Kongying Tavern peut-il être dans le même jeu que le jeu ? Comment la carte de Kongying Tavern peut-elle être synchronisée avec la version mobile ? Aug 01, 2024 pm 01:54 PM

La dernière version de la version mobile de Kongying Tavern Genshin Impact Map est un logiciel auxiliaire de carte unique spécialement créé pour les fans de Genshin Impact. Ce logiciel fournit des informations détaillées sur les principales cartes de jeu des différentes zones de Genshin Impact. joueurs pour résoudre différents types de problèmes dans Genshin Impact en ligne. Comment synchroniser la carte Kongying Tavern avec la version mobile Genshin Impact ? 1. Tout d’abord, vous devez télécharger la dernière version et, après l’installation, l’exécuter sous la forme d’une fenêtre flottante. 2. Ouvrez ensuite Genshin Impact et entrez dans le jeu. Lorsque vous ouvrez la carte du jeu, vous pouvez voir de nombreuses marques. 3. Les joueurs peuvent sélectionner les balises de ressources qu'ils souhaitent afficher sur la gauche. 4. Ensuite, il vous suffit de vous rendre à l'emplacement marqué et d'effectuer les opérations correspondantes pour obtenir les accessoires de ressources souhaités. 5. Enfin, vous pouvez cliquer sur le coin supérieur droit

Comment afficher les enregistrements de voyage sur Amap Comment afficher les enregistrements de voyage sur Amap May 05, 2024 pm 05:21 PM

Étapes pour afficher les enregistrements de voyage sur Amap : 1. Connectez-vous à Amap ; 2. Entrez « Mon » → « Mon voyage » ; 3. Affichez la liste des enregistrements de voyage ; 4. Cliquez pour afficher les détails ; .

Comment utiliser Amap pour ouvrir des cartes familiales et partager des cartes avec les membres de la famille. Méthodes et étapes pour partager des cartes avec les membres de la famille. Comment utiliser Amap pour ouvrir des cartes familiales et partager des cartes avec les membres de la famille. Méthodes et étapes pour partager des cartes avec les membres de la famille. May 04, 2024 pm 03:34 PM

Amap APP est un logiciel de navigation cartographique gratuit, professionnel et facile à utiliser. Tout le monde l'aime beaucoup. Il possède une variété de fonctions, qui peuvent apporter une grande commodité à nos vies. Quoi ? certaines cartes de vue des rues ou des demandes de renseignements sur la longitude et la latitude peuvent être résolues ici. L'opération est simple et pratique, au-delà de votre imagination. Souvent, tout le monde aime partager des cartes et des informations de localisation ici, ce qui est très bien. Souvent, pour certains enfants ou personnes âgées à la maison, les gens seront plus inquiets lorsqu'ils sortiront. Lorsqu'ils seront confrontés à diverses situations, vous pourrez éviter la situation dans laquelle tout le monde se perdra.

See all articles