Maison >Applet WeChat >Développement de mini-programmes >Explication détaillée du développement du mini-programme WeChat et de la mise en œuvre du positionnement selon le code de la ville actuel

Explication détaillée du développement du mini-programme WeChat et de la mise en œuvre du positionnement selon le code de la ville actuel

高洛峰
高洛峰original
2018-05-19 14:22:294561parcourir

Cet article présente principalement les informations pertinentes sur l'exemple de code de l'applet WeChat localisant la ville actuelle

L'applet WeChat localisant la ville actuelle

Vous devez d'abord postuler à l'API de géocodage Baidu Map

L'API de géocodage comprend des fonctions de résolution d'adresse et de résolution d'adresse inversée :

1. : c'est-à-dire que l'analyse de l'adresse, les informations de longitude et de latitude Baidu sont obtenues à partir de l'adresse structurée détaillée de la rue. Par exemple : « N° 27, rue Zhongguancun Sud, district de Haidian, Pékin », le résultat de l'analyse de l'adresse est « lng : 116.31985, latitude : 39.959836". Dans le même temps, le géocodage prend également en charge l'analyse directe des noms de lieux d'intérêt et de bâtiments emblématiques pour renvoyer la latitude et la longitude de Baidu. Par exemple : le résultat de l'analyse de l'adresse du "Baidu Building" est "lng:116.30815,lat:40.056885". . Pour les exigences générales de récupération de POI, il est recommandé d'utiliser l'API Place.

2. Géocodage inversé : c'est-à-dire géocodage inversé, qui obtient des informations d'adresse structurées à partir des informations de latitude et de longitude Baidu, par exemple : "lat:31.325152,lng:120.558957" Le résultat du géocodage inversé est "Province du Jiangsu n° 318, route Tayuan, district de Huqiu, ville de Suzhou."

Code :

Page({ 
 data:{ 
 city:'' 
 }, 
 onLoad:function(options){ 
 this.loadInfo(); 
 }, 
 loadInfo:function(){ 
 var page=this 
 wx.getLocation({ 
 type: 'wgs84', // 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 
 success: function(res){ 
 // success 
 var longitude=res.longitude 
 var latitude=res.latitude 
 page.loadCity(longitude,latitude) 
 }, 
 fail: function() { 
 // fail 
 }, 
 complete: function() { 
 // complete 
 } 
 }) 
 }, 
 loadCity:function(longitude,latitude){ 
 var page =this 
 wx.request({ 
 url: 'https://api.map.baidu.com/geocoder/v2/?ak=您的ak &location='+latitude+','+longitude+'&output=json', 
 data: {}, 
 header:{ 
 'Content-Type':'application/json' 
 }, 
 success: function(res){ 
 // success 
 console.log(res); 
 var city=res.data.result.addressComponent.city; 
 page.setData({city:city}); 
 }, 
 fail: function() { 
 // fail 
 }, 
 complete: function() { 
 // complete 
 } 
 }) 
 } 
})

index.wxml

<!--index.wxml--> 
<view class="container"> 
{{city}} 
</view>

Merci d'avoir lu, j'espère que cela pourra aider tout le monde, merci pour votre soutien à ce site !

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!

Déclaration:
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