百度地图api2.0体验

2020-12-13 02:10

阅读:427

标签:c   style   class   blog   code   java   

前言:这两天在做百度地图的功能,查看了百度官网的api完成了基本功能

api地址http://developer.baidu.com/map/jshome.htm 注意是javascript API 大众版2.0

废话不说先上图 

soscw.com,搜素材

 

一、导入百度地图api

="text/javascript" src="/Scripts/jquery.min.js">

  

二、加载百度地图

soscw.com,搜素材
soscw.com,搜素材

 

 

三、增加标注marker

 

soscw.com,搜素材
//自定义方法

function addMarker(mobj,html) {
var mName = mobj.mName, //标题
isOnline = mobj.isOnline;//是否在线

var point = new BMap.Point(mobj.lon, mobj.lat);

if(0 == isOnline) //离线用灰色图标显示
{
var myIcon = new BMap.Icon("/Content/img/bdmap/marker_gray_sprite.png", new BMap.Size(19,25) ,{anchor: new BMap.Size(9,25),infoWindowAnchor: new BMap.Size(10, 0)});  // {offset: new BMap.Size(50, -50) ,{anchor: new BMap.Size(10,25)}
var marker = new BMap.Marker(point,{icon:myIcon});
}
else
{//在线用默认红色图标显示
//var myIcon = new BMap.Icon("http://api0.map.bdimg.com/images/marker_red_sprite.png", new BMap.Size(39,25) ,{anchor: new BMap.Size(10,0)} ); //{offset: new BMap.Size(50, -50)
var marker = new BMap.Marker(point);
}
//设置信息
var infoWindow = new BMap.InfoWindow(tip); // 创建信息窗口对象
map.addOverlay(marker);
marker.addEventListener("click", function(){ 
this.openInfoWindow(infoWindow);
//图片加载完毕重绘infowindow
document.getElementById(‘imgDemo‘).onload = function (){
infoWindow.redraw(); //防止在网速较慢,图片未加载时,生成的信息框高度比图片的总高度小,导致图片部分被隐藏
}
});


//marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
var label = new BMap.Label(mName,{offset:new BMap.Size(20,-10)});
label.setStyle({
borderColor:"#808080",
color:"#333",
cursor:"pointer",
fontSize:"14px",
backgroundColor:"#DEADFF"
});
label.addEventListener("click", function(){ 
marker.openInfoWindow(infoWindow);
}); 
marker.setLabel(label);
}

 

这样就可以循环增加marker了

     for (var i = 0; i ) {

            var mtip = getInfoTip(pointArray[i]); //提示html
            addMarker(pointArray[i],mtip);//添加marker
    }
soscw.com,搜素材

 

 

四、点击其他地方显示提示框的方法

soscw.com,搜素材
$(function () {
$("#showTip").click(function () {

$("#mapName").text($(this).find("div[name=‘mname‘]").text());
var id = $(this).find("div[name=‘mid‘]").text();
var tempModel = getMModel(id);
if(tempModel != null)
{
var mpoint = new BMap.Point(tempModel.lon, tempModel.lat);
map.panTo(mpoint);
var infoWindow = new BMap.InfoWindow(tempModel.infoWindowHtml,{offset:new BMap.Size(0,-25)}); // 创建信息窗口对象InfoWindowOptions
map.openInfoWindow(infoWindow,mpoint);
//图片加载完毕重绘infowindow
document.getElementById(‘imgDemo‘).onload = function (){
infoWindow.redraw(); //防止在网速较慢,图片未加载时,生成的信息框高度比图片的总高度小,导致图片部分被隐藏
}

}
else
{
    $("#mapName").text("在地图中未找到该商家,请查看是否设置了坐标");
}

});
});
soscw.com,搜素材

 

 

 

OK,大功告成!

有用到的小伙伴可以直接copy了soscw.com,搜素材

 

百度地图api2.0体验,搜素材,soscw.com

百度地图api2.0体验

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/LYunF/p/3761008.html


评论


亲,登录后才可以留言!