CMS地图定位功能是由百度地图jsAPI获取当前浏览器的经纬度,移动端则参考百度地图相应的API

API申请地址:http://lbsyun.baidu.com/apiconsole/key/create


1、代码应用(将此代码放到模板的header.html或footer.html之中)

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
<script type="text/javascript">
   // 百度地图定位坐标
   var geolocation = new BMap.Geolocation();
   geolocation.getCurrentPosition(function(r){
      if(this.getStatus() == BMAP_STATUS_SUCCESS){
         $.ajax({type: "GET", url: "{SITE_URL}index.php?c=api&m=position&value="+r.point.lng+','+r.point.lat, dataType:"jsonp"});
      } else {
         alert('定位失败:'+this.getStatus());
      }
   },{enableHighAccuracy: true});
   // 百度地图定位城市
   function myFun(result){
      var cityName = result.name;
      $.ajax({type: "GET", url: "{SITE_URL}index.php?c=api&m=city&value="+result.name, dataType:"jsonp"});
   }
   var myCity = new BMap.LocalCity();
   myCity.get(myFun);
</script>

里面含有php标签,请不要放在.js文件里面了必须放到公共的html模板之中


2、模块地图坐标字段添加:

QQ20151208-0@2x.png

如果你要在列表显示或者搜索或者排序的话必须是主表字段

3、显示信息离自己定位坐标的距离

{list action=news ****}

{if $my_position}
离你的距离: {dr_distance($my_position.lng, $my_position.lat, $t.ditu_lng, $t.ditu_lat)}
{else}
没有获取到定位坐标数据
{/if}
{/loop}


4、模块搜索时,搜索离自己最近的信息

{dr_search_url($params, 'order', 'ditu')}  ditu是自定义的字段

5、list查询时,查询离自己最近的信息,按距离来排序

{list action=news order=ditu ****}

{if $my_position}
离你的距离: {dr_distance($my_position.lng, $my_position.lat, $t.ditu_lng, $t.ditu_lat)}
{else}
没有获取到定位坐标数据
{/if}
{/loop}


文档最后更新时间:2017-07-12 02:15:57