CMS地圖定位功能是由百度地圖jsAPI獲取當前瀏覽器的經(jīng)緯度,移動端則參考百度地圖相應的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('定位失?。?#39;+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、模塊地圖坐標字段添加:

如果你要在列表顯示或者搜索或者排序的話必須是主表字段
3、顯示信息離自己定位坐標的距離
{list action=news ****}
{if $my_position}
離你的距離: {dr_distance($my_position.lng, $my_position.lat, $t.ditu_lng, $t.ditu_lat)}
{else}
沒有獲取到定位坐標數(shù)據(jù)
{/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}
沒有獲取到定位坐標數(shù)據(jù)
{/if}
{/loop}
文檔最后更新時間:2017-07-12 02:15:57