[转载]云图如何制作附近实体店的地图?-微信微博支付宝 - 酸奶小妹 - 博客园

[转载]【云图】如何制作附近实体店的地图?-微信微博支付宝 – 酸奶小妹 – 博客园.

摘要:

附近连锁店地图与全国连锁店地图,最大的区别就是:

1、附近连锁店地图需要先定位,然后搜索附近的店铺。

2、全国连锁店地图,是先选择城市,然后检索某城市内的全部门店信息。

本文就详细讲解了如何制作附近实体店的地图,并调起高德地图进行导航,调起打电话功能。

本文还详细讲解了如何设置支付宝服务、微信公众号、微博官方账号的地图功能。

————————————————————————

 

一、支付宝设置

登录支付宝服务窗:https://fuwu.alipay.com/platform/queryMenu.htm

自定义菜单 -> 主菜单 -> 有子级菜单

填写子菜单名称,设置为跳转网页,并且放入网址。比如菜鸟物流:http://zhaoziang.com/amap/cainiao.html

最后点击发布。

 

二、微信设置

登录微信公众平台:https://mp.weixin.qq.com

功能->高级功能->编辑模式->自定义菜单-> 菜单管理->添加->设置动作

设置为跳转网页,并且放入网址。比如菜鸟物流:http://zhaoziang.com/amap/cainiao.html

最后点保存。

 

三、微博设置

登录微博:http://weibo.com/

管理中心->粉丝服务->高级功能->编辑模式->自定义菜单-> 菜单管理->添加->设置动作

设置为跳转网页,并且放入网址。比如菜鸟物流:http://zhaoziang.com/amap/cainiao.html

最后点保存。

 

四、云图设置

登录云图管理台:http://yuntu.amap.com/datamanager/index.html

新建地图

导入CSV数据。(支持UTF8和GBK 编码,数据不超过10,000 条)

 

五、代码与获取网址

将以下代码复制下来,替换key、tableID、图标,然后生成自己的网址。

获取key的地址:http://api.amap.com/key

获取tableID的地址:

进入你的云图->获取tableID

 

全部源代码:





菜鸟物流全国站点

<script src="http://webapi.amap.com/maps?v=1.2&amp;key=【您的key】" language="javascript"></script>

<div class="header clearfix"><a id="iListBtn"></a>列表模式 <a id="iMapBtn"></a>地图模式</div>

&nbsp;

&nbsp;

<div id="map" class="clearfix"></div>

&nbsp;

<div id="list" style="display: none;">正在读取数据……</div>

&nbsp;

&nbsp;

<script language="javascript">// <![CDATA[
function display(id1,id2){
    document.getElementById('map').style.display = 'none';
    document.getElementById('list').style.display = 'none';
    document.getElementById(id1).style.display = 'block';
    document.getElementById(id2).style.display = 'block';
    if (id1 === 'map' && mapObj) {
        mapObj.setFitView();
    }
}
var mapObj;
var cloudDataLayer;
var cloudSearch;
var cpoint;
//初始化地图对象,加载地图
function mapInit(){
    mapObj = new AMap.Map("map");
    mapObj.plugin('AMap.Geolocation', function () {
        geolocation = new AMap.Geolocation({
            enableHighAccuracy: true,//是否使用高精度定位,默认:true
            timeout: 10000,          //超过10秒后停止定位,默认:无穷大
            maximumAge: 0,           //定位结果缓存0毫秒,默认:0
            convert: true,           //自动偏移坐标,偏移后的坐标为高德坐标,默认:true
            showButton: true,        //显示定位按钮,默认:true
            buttonPosition: 'LB',    //定位按钮停靠位置,默认:'LB',左下角
            buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
            showMarker: true,        //定位成功后在定位到的位置显示点标记,默认:true
            showCircle: false,        //定位成功后用圆圈表示定位精度范围,默认:true
            panToLocation: true,     //定位成功后将定位到的位置作为地图中心点,默认:true
            zoomToAccuracy:true      //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
        });
        mapObj.addControl(geolocation);
        geolocation.getCurrentPosition();
        AMap.event.addListener(geolocation, 'complete', onComplete); //返回定位信息-成功
        AMap.event.addListener(geolocation, 'error', function(){
            alert('哟,定位失败啦!');
        });    //返回定位信息-失败 
    });
}
function onComplete(data) {
    var lngX = data.position.getLng();
    var latY = data.position.getLat();
    cpoint = new AMap.LngLat(lngX,latY);
    //cpoint = new AMap.LngLat(116.38298,39.955543);
    myCloudList();  
}
//云图加载列表
function myCloudList(){
    //列表
    var search; 
    var searchOptions = {
            pageSize:20
        };
    mapObj.plugin(["AMap.CloudDataSearch"], function() {
        cloudSearch = new AMap.CloudDataSearch('【您的tableID】', searchOptions); //构造云数据检索类
        AMap.event.addListener(cloudSearch, "complete", cloudSearch_CallBack); //查询成功时的回调函数
        AMap.event.addListener(cloudSearch, "error", errorInfo); //查询失败时的回调函数
        cloudSearch.searchNearBy(cpoint, 10000); //周边检索 
    });
}
var markers = new Array(); 
var windowsArr = new Array();
//添加marker和infowindow     
function addmarker(i, d){  
    var lngX = d._location.getLng();  
    var latY = d._location.getLat();  
    var IconOptions = {
        image : "cainiao.png", //您的小图标33*33
        size : new AMap.Size(33,33),
        imageSize : new AMap.Size(33,33),
        imageOffset : new AMap.Pixel(-16,0)
    };
    var myIcon = new AMap.Icon(IconOptions);
    var markerOption = {  
        map:mapObj,  
        icon: myIcon,   
        offset: new AMap.Pixel(-15,-30),   
        position:new AMap.LngLat(lngX, latY)    
    };              
    var mar = new AMap.Marker(markerOption);    
    markers.push(new AMap.LngLat(lngX, latY));  
  
    var infoWindow = new AMap.InfoWindow({  
        content: "

<h3>" + d._name + "</h3>


" + "<img style=\"width:280px;height:180px;overflow:hidden;\" src='cainiao2.png' />

地址:" + d._address + "

" + "

电话:<a href=\"tel:" + d.telephone + "\">" + d.telephone + "</a>

<a href='http://mo.amap.com/?q=" + d._location.getLat() + "," + d._location.getLng() + "&name=" + d._name + "'>到这儿去</a>

",
        size:new AMap.Size(280, 0),  
        autoMove:true,  
        offset:new AMap.Pixel(0,-30),
        closeWhenClickMap: true        
    });    
    windowsArr.push(infoWindow);     
    var aa = function(){infoWindow.open(mapObj, mar.getPosition());};    
    AMap.event.addListener(mar, "click", aa);    
}
//回调函数-成功
function cloudSearch_CallBack(data) {
    clearMap();
    var resultStr="";
    var resultArr = data.datas;
    var resultNum = resultArr.length;
    for (var i = 0; i < resultNum; i++) {
        resultStr += "

<div class=\"item\">";
        resultStr += "

<h3>" + (i+1) + "、" + resultArr[i]._name + "</h3>


";
        resultStr += "

地址:" + resultArr[i]._address + "

";
        resultStr += "

电话:<a href=\"tel:" + resultArr[i].telephone + "\">" + resultArr[i].telephone + "</a>

";
        resultStr += "

地图:<a href='http://mo.amap.com/?q=" + resultArr[i]._location.getLat() + "," + resultArr[i]._location.getLng() + "&name=" + resultArr[i]._name + "'>到这里去</a>

";
        resultStr += "</div>


";
        addmarker(i, resultArr[i]); //添加大标注
    }
    if (document.getElementById('map').style.display !== 'none') {
        mapObj.setFitView();
    }
    document.getElementById("list").innerHTML = resultStr;
}
//回调函数-失败
function errorInfo(data) {
    resultStr = data.info;
    document.getElementById("list").innerHTML = resultStr;
}
//清空地图
function clearMap(){
    mapObj.clearMap();
    document.getElementById("list").innerHTML = '正在读取数据……';
}
// ]]></script>

demo网址(请用手机浏览器查看):http://zhaoziang.com/amap/cainiao.html

 

效果图:

 

六、其他云图教程

【支付宝中的全国家乐福地图】http://www.cnblogs.com/milkmap/p/3786144.html

【微信中的全国AMF海水农场地图】http://www.cnblogs.com/milkmap/p/3780417.html

【官网中的全国AMF海水农场地图】http://www.cnblogs.com/milkmap/p/3778398.html

【应用中webview形式的全国KTV地图】http://www.cnblogs.com/milkmap/p/3765925.html

 

【三甲医院】http://www.cnblogs.com/milkmap/p/3637899.html

【东莞地图】http://www.cnblogs.com/milkmap/p/3657829.html

【贪官落马图】http://www.cnblogs.com/milkmap/p/3678377.html

 

七、从零开始学高德JS API系列教程

【地图展现】http://www.cnblogs.com/milkmap/p/3687855.html

【控件】http://www.cnblogs.com/milkmap/p/3707711.html

【覆盖物】http://www.cnblogs.com/milkmap/p/3727842.html

【搜索服务】http://www.cnblogs.com/milkmap/p/3745701.html

【路线规划】http://www.cnblogs.com/milkmap/p/3755257.html

【坐标转换】http://www.cnblogs.com/milkmap/p/3768379.html

 

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏