下面是js的引用,不行的。地图可以查看。但是标记出不来。求救啊。搞了一天了var map = new BMap.Map("container",{mapType: BMAP_NORMAL_MAP}); //设置卫星图为底图
var point = new BMap.Point(121.46950,31.22643); // 创建点坐标
map.centerAndZoom(point,14); // 初始化地图,设置中心点坐标和地图级别。//map.addControl(new BMap.MapTypeControl());
map.addControl(new BMap.NavigationControl());
map.enableScrollWheelZoom(); // 启用滚轮放大缩小。
map.enableKeyboard(); // 启用键盘操作。
map.setCurrentCity("上海"); // 设置地图显示的城市 此项是必须设置的//标注点数组
var erArr = [{title:"目前位置",content:"我的备注",point:"121.46950"+"|"+"31.22643",isOpen:0,icon:{w:21,h:21,l:0,t:0,x:6,lb:5}}
];
//alert(document.cookie.split(";")[1].split("-")[0]+"|"+document.cookie.split(";")[1].split("-")[1].split("=")[0]);
//创建er
function addMarker(){
for(var i=0;i<erArr.length;i++){
var json = erArr[i];
var p0 = json.point.split("|")[0];
var p1 = json.point.split("|")[1];
var point = new BMap.Point(p0,p1);
var iconImg = createIcon(json.icon);
var er = new BMap.Marker(point,{icon:iconImg});
var iw = createInfoWindow(i);
var label = new BMap.Label(json.title,{"offset":new BMap.Size(json.icon.lb-json.icon.x+10,-20)});
alert(label);
er.setLabel(label);
map.addOverlay(er);
label.setStyle({
borderColor:"#808080",
color:"#333",
cursor:"pointer"
});
(function(){
alert("createInfoWindow");
var index = i;
var _iw = createInfoWindow(i);
var _er = er;
_er.addEventListener("click",function(){
_er.openInfoWindow(_iw);
});
_iw.addEventListener("open",function(){
_er.getLabel().hide();
})
_iw.addEventListener("close",function(){
_er.getLabel().show();
})
label.addEventListener("click",function(){
_er.openInfoWindow(_iw);
})
alert(!!json.isOpen);
if(!!json.isOpen){
label.hide();
_er.openInfoWindow(_iw);
}
})()
}
}
//创建InfoWindow
function createInfoWindow(i){
var json = erArr[i];
var iw = new BMap.InfoWindow("<b class='iw_poi_title' title='" + json.title + "'>" + json.title + "</b><div class='iw_poi_content'>"+json.content+"</div>");
return iw;
}
//创建一个Icon
function createIcon(json){
var icon = new BMap.Icon("images/us_mk_icon.png", new BMap.Size(json.w,json.h),{imageOffset: new BMap.Size(-json.l,-json.t),infoWindowOffset:new BMap.Size(json.lb+5,1),offset:new BMap.Size(json.x,json.h)})
return icon;
}
var point = new BMap.Point(121.46950,31.22643); // 创建点坐标
map.centerAndZoom(point,14); // 初始化地图,设置中心点坐标和地图级别。//map.addControl(new BMap.MapTypeControl());
map.addControl(new BMap.NavigationControl());
map.enableScrollWheelZoom(); // 启用滚轮放大缩小。
map.enableKeyboard(); // 启用键盘操作。
map.setCurrentCity("上海"); // 设置地图显示的城市 此项是必须设置的//标注点数组
var erArr = [{title:"目前位置",content:"我的备注",point:"121.46950"+"|"+"31.22643",isOpen:0,icon:{w:21,h:21,l:0,t:0,x:6,lb:5}}
];
//alert(document.cookie.split(";")[1].split("-")[0]+"|"+document.cookie.split(";")[1].split("-")[1].split("=")[0]);
//创建er
function addMarker(){
for(var i=0;i<erArr.length;i++){
var json = erArr[i];
var p0 = json.point.split("|")[0];
var p1 = json.point.split("|")[1];
var point = new BMap.Point(p0,p1);
var iconImg = createIcon(json.icon);
var er = new BMap.Marker(point,{icon:iconImg});
var iw = createInfoWindow(i);
var label = new BMap.Label(json.title,{"offset":new BMap.Size(json.icon.lb-json.icon.x+10,-20)});
alert(label);
er.setLabel(label);
map.addOverlay(er);
label.setStyle({
borderColor:"#808080",
color:"#333",
cursor:"pointer"
});
(function(){
alert("createInfoWindow");
var index = i;
var _iw = createInfoWindow(i);
var _er = er;
_er.addEventListener("click",function(){
_er.openInfoWindow(_iw);
});
_iw.addEventListener("open",function(){
_er.getLabel().hide();
})
_iw.addEventListener("close",function(){
_er.getLabel().show();
})
label.addEventListener("click",function(){
_er.openInfoWindow(_iw);
})
alert(!!json.isOpen);
if(!!json.isOpen){
label.hide();
_er.openInfoWindow(_iw);
}
})()
}
}
//创建InfoWindow
function createInfoWindow(i){
var json = erArr[i];
var iw = new BMap.InfoWindow("<b class='iw_poi_title' title='" + json.title + "'>" + json.title + "</b><div class='iw_poi_content'>"+json.content+"</div>");
return iw;
}
//创建一个Icon
function createIcon(json){
var icon = new BMap.Icon("images/us_mk_icon.png", new BMap.Size(json.w,json.h),{imageOffset: new BMap.Size(-json.l,-json.t),infoWindowOffset:new BMap.Size(json.lb+5,1),offset:new BMap.Size(json.x,json.h)})
return icon;
}
解决方案 »
- 问下有什么js类库能开发3D效果,看到有个方法是m3d.init,求相关学习资料
- firefox 如何捕获关闭事件
- jquery选择input
- javascript实现拖放,地图推移,
- dom在IE上好使,在firefox上不好使
- 下拉菜单被 Frame 挡住了,请问有没有解决办法?
- 分少点,人民币求:右键功能--对各个不同对象点击右键,出现右键菜单,进行操作
- 密码校验的正则表达式怎么写呀
- 如何判断用户关闭了浏览器窗口还是转入了其他地址,或者刷新了页面?
- document.getElementById().innerHTML 已赋值,也无JS错误,但页面内容没有刷新,什么原因呢?
- argular在jsp中的用法错在哪里了
- WebStorm怎么配置React
http://developer.baidu.com/map/jsdemo.htm#i1_1
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html {width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
#allmap{width:100%;height:500px;}
p{margin-left:5px; font-size:14px;}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
<title>纯文本的信息窗口</title>
</head>
<body>
<div id="allmap"></div>
<p>点击标注点,可查看由纯文本构成的简单型信息窗口</p>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.417854,39.921988);
var er = new BMap.Marker(point); // 创建标注
map.addOverlay(er); // 将标注添加到地图中
map.centerAndZoom(point, 15);
var opts = {
width : 200, // 信息窗口宽度
height: 100, // 信息窗口高度
title : "海底捞王府井店" , // 信息窗口标题
enableMessage:true,//设置允许信息窗发送短息
message:"亲耐滴,晚上一起吃个饭吧?戳下面的链接看下地址喔~"
}
var infoWindow = new BMap.InfoWindow("地址:北京市东城区王府井大街88号乐天银泰百货八层", opts); // 创建信息窗口对象
er.addEventListener("click", function(){
map.openInfoWindow(infoWindow,point); //开启信息窗口
});
</script>
离线数据查询???那要配置强大的数据库后台支持吧先简单的小地图就可以了。
看这里var point = new BMap.Point(116.417854,39.921988);
var er = new BMap.Marker(point); // 创建标注
map.addOverlay(er); // 将标注添加到地图中
若楼主的离线地图,,,能获取到相关的经纬度BMap.Point
那么,,,楼主完全可以像百度API中那样,调用百度自身的BMap.Marker,,,创建标注
楼主既然弄了个一样思路的,,,我想知道,,,到底是标记出了问题还是离线导致的问题
1、若在线能正常得到标记,离线不可----离线导致问题
2、若在线也无法得到标记----标记写错了
楼主既然弄了个一样思路的,,,我想知道,,,到底是标记出了问题还是离线导致的问题
1、若在线能正常得到标记,离线不可----离线导致问题
2、若在线也无法得到标记----标记写错了楼主有没有试过在线地图(http://developer.baidu.com/map/jsdemo.htm#i1_1)能不能正常获取到百度的标记呢???
楼主既然弄了个一样思路的,,,我想知道,,,到底是标记出了问题还是离线导致的问题
1、若在线能正常得到标记,离线不可----离线导致问题
2、若在线也无法得到标记----标记写错了就是离线导致的啦。引入百度的js文件,但是里面很多要关联到百度服务那边的,改了,也不行。估计改错了。你那有改过后的吗?
http://api.jjszd.com:8081/apituiguang/gistg.html