


Comment faire fonctionner Bing Map et l'utiliser dans le projet Vue
Cette fois, je vais vous montrer comment utiliser bing map dans un projet vue. Quelles sont les précautions pour utiliser bing map dans un projet vue. Voici un cas pratique, jetons un oeil.
Écrivez-le au début
Il semble que seul Baidu Maps possède une base de données mondiale en Chine, pas Amap, Sogou ou Tencent, mais étant donné que les données de Baidu Map ne sont pas mises à jour en temps opportun, il est préférable d'utiliser bingMap lors de la réalisation de projets connexes nécessitant l'utilisation de données étrangères.
Tutoriel d'utilisation de Bing Map (basique)
Document de référence : tutoriel officiel de Bing Map
Initialisation de Bing Map
Présentation des ressources de Bing Map
<script type='text/javascript' src='http://www.bing.com/api/maps/mapcontrol?callback=GetMap&key=[YOUR_BING_MAPS_KEY]' async defer></script>
Carte d'initialisation
<p id="myMap"></p> <script type='text/javascript'> function GetMap() { var map = new Microsoft.Maps.Map('#myMap'); //Add your post map load code here. } </script>
Définir les paramètres de contrôle de la carte
Paramètres de contrôle communs
branche
Quelle branche du SDK de carte charger : version (par défaut) , experimental
callback
Rappel après le chargement du script de contrôle de la carte (par défaut : GetMap)
key
userKey utilisé par l'utilisateur (détails)
setLang
Spécifie la langue utilisée pour la carte étiquettes et commandes de navigation
Couramment utilisés : Chine continentale (zh-CN), Hong Kong, Chine (zh-HK), chinois simplifié (zh-Hans), Taiwan, Chine (zh-TW), anglais-Royaume-Uni (en -GB), anglais-États-Unis ( en-US)
setMkt (détails)
UR (détails)
Ajouter un événement de carte à la carte bing (référence)
// 核心代码-demo Microsoft.Maps.Events.addHandler(你的地图名称, 触发地图事件名称, function() { 触发的事件 }); // 常用实例 //Add view change events to the map. // 视图更改事件 Microsoft.Maps.Events.addHandler(map, 'viewchangestart', function () { highlight('mapViewChangeStart'); }); Microsoft.Maps.Events.addHandler(map, 'viewchange', function () { highlight('mapViewChange'); }); Microsoft.Maps.Events.addHandler(map, 'viewchangeend', function () { highlight('mapViewChangEnd'); }); //Add mouse events to the map. // 鼠标事件 Microsoft.Maps.Events.addHandler(map, 'click', function () { highlight('mapClick'); }); Microsoft.Maps.Events.addHandler(map, 'dblclick', function () { highlight('mapDblClick'); }); Microsoft.Maps.Events.addHandler(map, 'rightclick', function () { highlight('mapRightClick'); }); Microsoft.Maps.Events.addHandler(map, 'mousedown', function () { highlight('mapMousedown'); }); Microsoft.Maps.Events.addHandler(map, 'mouseout', function () { highlight('mapMouseout'); }); Microsoft.Maps.Events.addHandler(map, 'mouseover', function () { highlight('mapMouseover'); }); Microsoft.Maps.Events.addHandler(map, 'mouseup', function () { highlight('mapMouseup'); }); Microsoft.Maps.Events.addHandler(map, 'mousewheel', function () { highlight('mapMousewheel'); }); //Add addition map event handlers Microsoft.Maps.Events.addHandler(map, 'maptypechanged', function () { highlight('maptypechanged'); });
bing Map ajouter une épingle (Détails)
Exemple d'épingle de base
function GetMap() { var map = new Microsoft.Maps.Map('#myMap', { credentials: 'Your Bing Maps Key', center: new Microsoft.Maps.Location(47.6149, -122.1941) }); var center = map.getCenter(); //Create custom Pushpin // 创建一个图钉 var pin = new Microsoft.Maps.Pushpin(center, { // demo_1 title: 'Microsoft', // 图钉的标题 subTitle: 'City Center', // 图钉主体文字 text: '1' // 图钉内的文字 // demo_2 color: 'red', // 纯色图钉 }); //Add the pushpin to the map map.entities.push(pin); }
demo_1
demo_2
Ajouter une épingle d'image personnalisée (détails)
function GetMap() { var map = new Microsoft.Maps.Map('#myMap', { credentials: 'You Bing Maps Key' }); var center = map.getCenter(); //Create custom Pushpin var pin = new Microsoft.Maps.Pushpin(center, { icon: 'images/poi_custom.png', // 自定义图片路径 anchor: new Microsoft.Maps.Point(12, 39) }); //Add the pushpin to the map map.entities.push(pin); }
Épingle avec icône personnalisée
bing Map Ajouter un événement à la punaise
Code principal
//Create a pushpin. var pushpin = new Microsoft.Maps.Pushpin(map.getCenter()); map.entities.push(pushpin); //Add mouse events to the pushpin. // 将自定义方法及鼠标事件添加到图钉上面 Microsoft.Maps.Events.addHandler(pushpin, 'click', function () { highlight('pushpinClick'); }); Microsoft.Maps.Events.addHandler(pushpin, 'mousedown', function () { highlight('pushpinMousedown'); }); Microsoft.Maps.Events.addHandler(pushpin, 'mouseout', function () { highlight('pushpinMouseout'); }); Microsoft.Maps.Events.addHandler(pushpin, 'mouseover', function () { highlight('pushpinMouseover'); }); Microsoft.Maps.Events.addHandler(pushpin, 'mouseup', function () { highlight('pushpinMouseup'); });
Bing Map ajoute un style de survol à la punaise
L'essentiel est d'ajouter des événements aux punaises de Bing Map et de modifier le style des punaises à travers les événements
// demo var defaultColor = 'blue'; var hoverColor = 'red'; var mouseDownColor = 'purple'; var pin = new Microsoft.Maps.Pushpin(map.getCenter(), { color: defaultColor }); map.entities.push(pin); Microsoft.Maps.Events.addHandler(pin, 'mouseover', function (e) { e.target.setOptions({ color: hoverColor }); }); Microsoft.Maps.Events.addHandler(pin, 'mousedown', function (e) { e.target.setOptions({ color: mouseDownColor }); }); Microsoft.Maps.Events.addHandler(pin, 'mouseout', function (e) { e.target.setOptions({ color: defaultColor }); });
Ajouter un style de survol aux punaises
Ancres épinglées de carte Bing
L'un des problèmes les plus courants que Les développeurs rencontrent lorsqu'ils utilisent des épingles personnalisées lorsqu'ils zooment sur la carte, il semble que leur épingle dérive vers ou depuis l'emplacement auquel elle est ancrée. Cela est dû à des valeurs de point d'ancrage incorrectes dans les options de broche. Le point d'ancrage spécifie quelle coordonnée de pixel de l'image, par rapport au coin supérieur gauche de l'image, doit chevaucher la coordonnée de position de la broche.
CommunRéférence de configuration
Utilisation de Bing Map dans vue
Vue peut introduire des problèmes de carte Bing vous rencontrerez
Étant donné que Vue fait généralement référence à des plug-ins tiers via l'importation, il y aura deux problèmes lors de l'utilisation de balises de script pour introduire le SDK bing Map en HTML
1 . être signalé dans la console : Mirosoft n'est pas défini
2. vue-cli signalera une erreur : Mirosoft n'est pas défini
La raison ici est due au chargement asynchrone, donc avant d'appeler "Mirosorbt " Parfois, le SDK peut ne pas être référencé avec succès
Résoudre l'erreur "Mirosoft n'est pas défini"
Référence du document
Pour résoudre l'erreur "Mirosoft n'est pas défini", assurez-vous simplement que les classes d'outils pertinentes peuvent être correctement introduites dans le projet avant d'appeler la carte.
// bing map init devTools export default { init: function (){ console.log("初始化bing地图脚本..."); // bing map key const bingUesrKey = '你的bingMap Key'; const BingMap_URL = 'http://www.bing.com/api/maps/mapcontrol?callback=GetMap&key=' + bingUesrKey; return new Promise((resolve, reject) => { if(typeof Microsoft !== "undefined") { resolve(Microsoft); return true; } // 插入script脚本 let scriptNode = document.createElement("script"); scriptNode.setAttribute("type", "text/javascript"); scriptNode.setAttribute("src", BingMap_URL); document.body.appendChild(scriptNode); // 等待页面加载完毕回调 let timeout = 0; let interval = setInterval(() => { // 超时10秒加载失败 if(timeout >= 20) { reject(); clearInterval(interval); console.error("bing地图脚本初始化失败..."); } // 加载成功 if(typeof Microsoft !== "undefined") { resolve(Microsoft); clearInterval(interval); console.log("bing地图脚本初始化成功..."); } timeout += 1; }, 500); }); } } // bing map vue import bingMap from './**/bing-map'; bingMap.init() .then((Microsoft) => { console.log(Microsoft) console.log("加载成功...") // 开始地图操作 })
集成bing Map组件到vue中
需要达到的功能
在vue项目中成功加载bing Map (完成)
当点击bing Map的时候,返回点击点的经纬度 (完成)
子组件触发事件返回参数到父组件
当已有经纬度的时候,加载bingMap自动显示其经纬度所在的位置并设置图钉 (待完成)
子组件触发事件返回参数到父组件
实现原理
vue-$meit
核心代码
// 子组件 <template> <p @click="iclick"></p> </template> methods:{ iclick(){ let data = { a:'data' }; this.$emit('ievent', data1, 'data2Str'); } } // 父组件 <i-template @ievent = "ievent"></i-template> methods:{ ievent(...data){ console.log('allData:',data); // data为包含传过来所有数据的数组,第一个元素是对象,第二个元素是字符串 } }
封装bing Map通用组件
// 核心代码 <template> <p class="map-container"> <p id="localMap"></p> </p> </template> <script> import initBingMap from './initMap.js' export default { data () { return { lngNum: null, // 经度 latNum: null, // 纬度 } }, created: function () { let _this = this; initBingMap.init() .then((Microsoft) => { console.log(Microsoft) console.log("加载成功...") _this.initMap(); }) }, methods: { initMap () { let _this = this; let map = new Microsoft.Maps.Map('#localMap', { credentials: 'AgzeobkGvmpdZTFuGa7_6gkaHH7CXHKsFiTQlBvi55x-QLZLh1rSjhd1Da9bfPhD' }); Microsoft.Maps.Events.addHandler(map, 'click', _this.getClickLocation); }, getClickLocation (e) { //若点击到地图的标记上,而非地图上 let [_this, loc] = [this, null]; if (e.targetType == 'pushpin') { loc = e.target.getLocation(); } //若点击到地图上 else { var point = new Microsoft.Maps.Point(e.pageX, e.pageY); loc = e.target.tryPixelToLocation(point, Microsoft.Maps.PixelReference.page); } console.log(loc.latitude+", "+loc.longitude); console.log(loc); _this.lngNum = loc.longitude; _this.latNum = loc.latitude; let data = { lngNum: _this.lngNum, latNum: _this.latNum } this.$emit('getLocationNums',data); }, } } </script> <style scoped> .map-container { width: 100%; height: 400px; border: 1px solid #000; } </style> 在组件中调用bing Map通用组件 // 引入bingMap import bingMapsLayer from 'bingMap.vue' // component中定义 components: { bingMapsLayer }, // template中使用 <bing-maps-layer @getLocationNums="getLocationNums"></bing-maps-layer> // 定义触发点击标记返回经纬度的事件函数 getLocationNums (...data) { let _this = this; console.log('click'); console.log(data); // 这里的data中即子组件bingMap返回的点击获取的经纬度值 },
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Bing est un moteur de recherche en ligne lancé par Microsoft. La fonction de recherche est très puissante et comporte deux entrées : la version nationale et la version internationale. Où sont les entrées de ces deux versions ? Comment accéder à la version internationale ? Jetons un coup d'œil aux détails ci-dessous. Entrée du site Web de la version chinoise de Bing : https://cn.bing.com/ Entrée du site Web de la version internationale de Bing : https://global.bing.com/ Comment accéder à la version internationale de Bing ? 1. Entrez d'abord l'URL pour ouvrir Bing : https://www.bing.com/ 2. Vous pouvez voir qu'il existe des options pour les versions nationales et internationales. Il suffit de sélectionner la version internationale et de saisir les mots-clés.

Le lien magnétique est une méthode de lien pour télécharger des ressources, qui est plus pratique et efficace que les méthodes de téléchargement traditionnelles. Les liens magnétiques vous permettent de télécharger des ressources de manière peer-to-peer sans recourir à un serveur intermédiaire. Cet article explique comment utiliser les liens magnétiques et à quoi il faut prêter attention. 1. Qu'est-ce qu'un lien magnétique ? Un lien magnétique est une méthode de téléchargement basée sur le protocole P2P (Peer-to-Peer). Grâce à des liens magnétiques, les utilisateurs peuvent se connecter directement à l'éditeur de la ressource pour finaliser le partage et le téléchargement des ressources. Par rapport aux méthodes de téléchargement traditionnelles, magnétique

Comment utiliser les fichiers mdf et mds Grâce aux progrès continus de la technologie informatique, nous pouvons stocker et partager des données de différentes manières. Dans le domaine des médias numériques, nous rencontrons souvent des formats de fichiers particuliers. Dans cet article, nous discuterons d'un format de fichier courant - les fichiers mdf et mds, et présenterons comment les utiliser. Tout d’abord, nous devons comprendre la signification des fichiers mdf et mds. mdf est l'extension du fichier image CD/DVD et le fichier mds est le fichier de métadonnées du fichier mdf.

CrystalDiskMark est un petit outil de référence pour disques durs qui mesure rapidement les vitesses de lecture/écriture séquentielles et aléatoires. Ensuite, laissez l'éditeur vous présenter CrystalDiskMark et comment utiliser crystaldiskmark~ 1. Introduction à CrystalDiskMark CrystalDiskMark est un outil de test de performances de disque largement utilisé pour évaluer la vitesse et les performances de lecture et d'écriture des disques durs mécaniques et des disques SSD (SSD). ). Performances d’E/S aléatoires. Il s'agit d'une application Windows gratuite qui fournit une interface conviviale et divers modes de test pour évaluer différents aspects des performances du disque dur. Elle est largement utilisée dans les revues de matériel.

foobar2000 est un logiciel qui peut écouter des ressources musicales à tout moment. Il vous offre toutes sortes de musique avec une qualité sonore sans perte. La version améliorée du lecteur de musique vous permet d'obtenir une expérience musicale plus complète et plus confortable. lire l'audio avancé sur l'ordinateur. L'appareil est transplanté sur le téléphone mobile pour offrir une expérience de lecture de musique plus pratique et efficace. La conception de l'interface est simple, claire et facile à utiliser. opérations pour démarrer rapidement. Il prend également en charge une variété de skins et de thèmes, personnalisez les paramètres en fonction de vos propres préférences et créez un lecteur de musique exclusif prenant en charge la lecture de plusieurs formats audio. Il prend également en charge la fonction de gain audio pour régler le volume. selon vos propres conditions auditives pour éviter les dommages auditifs causés par un volume excessif. Ensuite, laisse-moi t'aider

Le stockage cloud est devenu aujourd’hui un élément indispensable de notre vie quotidienne et de notre travail. En tant que l'un des principaux services de stockage cloud en Chine, Baidu Netdisk a gagné la faveur d'un grand nombre d'utilisateurs grâce à ses puissantes fonctions de stockage, sa vitesse de transmission efficace et son expérience de fonctionnement pratique. Et que vous souhaitiez sauvegarder des fichiers importants, partager des informations, regarder des vidéos en ligne ou écouter de la musique, Baidu Cloud Disk peut répondre à vos besoins. Cependant, de nombreux utilisateurs peuvent ne pas comprendre l'utilisation spécifique de l'application Baidu Netdisk, ce didacticiel vous présentera donc en détail comment utiliser l'application Baidu Netdisk. Si vous êtes toujours confus, veuillez suivre cet article pour en savoir plus ! Comment utiliser Baidu Cloud Network Disk : 1. Installation Tout d'abord, lors du téléchargement et de l'installation du logiciel Baidu Cloud, veuillez sélectionner l'option d'installation personnalisée.

NetEase Mailbox, en tant qu'adresse e-mail largement utilisée par les internautes chinois, a toujours gagné la confiance des utilisateurs grâce à ses services stables et efficaces. NetEase Mailbox Master est un logiciel de messagerie spécialement créé pour les utilisateurs de téléphones mobiles. Il simplifie grandement le processus d'envoi et de réception d'e-mails et rend le traitement de nos e-mails plus pratique. Alors comment utiliser NetEase Mailbox Master, et quelles sont ses fonctions spécifiques Ci-dessous, l'éditeur de ce site vous donnera une introduction détaillée, en espérant vous aider ! Tout d’abord, vous pouvez rechercher et télécharger l’application NetEase Mailbox Master dans la boutique d’applications mobiles. Recherchez « NetEase Mailbox Master » dans l'App Store ou Baidu Mobile Assistant, puis suivez les instructions pour l'installer. Une fois le téléchargement et l'installation terminés, nous ouvrons le compte de messagerie NetEase et nous connectons. L'interface de connexion est la suivante

MetaMask (également appelé Little Fox Wallet en chinois) est un logiciel de portefeuille de cryptage gratuit et bien accueilli. Actuellement, BTCC prend en charge la liaison au portefeuille MetaMask. Après la liaison, vous pouvez utiliser le portefeuille MetaMask pour vous connecter rapidement, stocker de la valeur, acheter des pièces, etc., et vous pouvez également obtenir un bonus d'essai de 20 USDT pour la première liaison. Dans le didacticiel du portefeuille BTCCMetaMask, nous présenterons en détail comment enregistrer et utiliser MetaMask, ainsi que comment lier et utiliser le portefeuille Little Fox dans BTCC. Qu'est-ce que le portefeuille MetaMask ? Avec plus de 30 millions d’utilisateurs, MetaMask Little Fox Wallet est aujourd’hui l’un des portefeuilles de crypto-monnaie les plus populaires. Son utilisation est gratuite et peut être installée sur le réseau en tant qu'extension
