
<head>
<title></title>
<style type="text/css">
content{display: none;}
</style>
</head>
<body>
<span>设为终点</span><span>设为起点</span><span>搜索附近</span>
<div class="content">1</div>
<div class="content">2</div>
<div class="content">3</div>
<script>
var _span=documentgetElementsByTagName("span");
var _div=documentgetElementsByTagName("div");
for (var i = 0,len=_spanlength; i <len; i++) {
_span[i]index=_div[i]index=i;
_span[i]onclick=function(){
var ind=thisindex;
if (_div[ind]className=="content") {
for(var j=0;j<len;j++){
_div[j]className="content";
}
_div[ind]className="";
}else{
_div[ind]className="content";
}
}
};
</script>
</body>
</html>
你看一下有什么问题
经过修改和验证可用,主要问题是你没有搞清楚 变量的作用域。对于鼠标点击事件的注册,你应该对每一个Marker注册,所以你生成marker 的时候应该把所有marker 放到一个数组中,再遍历marker进行注册。并且在响应函数中通过this调用对应的marker
var markerArr = [{ title: "张三",imageOffset: {width:0,height:3} , point: "115809905,2925332", address: "共青城", tel: "" } ,
{ title: "张三",imageOffset: {width:0,height:3} , point: "11345208,2310967", address: "广州天河区黄村", tel: "" } ,
{ title: "张三",imageOffset: {width:0,height:3} , point: "115941854,28674492", address: "南昌", tel: "" } ,
{ title: "张三",imageOffset: {width:0,height:3} , point: "116647832,39907028", address: "北京", tel: "" } ,
{ title: "张三",imageOffset: {width:0,height:3} , point: "113968664,22575749", address: "深圳", tel: "" }
];
var markers=[];
var init = function() {
var center = new qqmapsLatLng(29469459,116051127);
var map = new qqmapsMap(documentgetElementById('container'),{
center: center,
zoom: 6
});
for (var i = 0; i < markerArrlength; i++) {
var p0 = markerArr[i]pointsplit(",")[0];
var p1 = markerArr[i]pointsplit(",")[1];
var marker = new qqmapsMarker({
map: map,
position: new qqmapsLatLng(p1,p0)
});
markersetTitle(markerArr[i]address)
markerspush(marker);
}
for (var i = markerslength - 1; i >= 0; i--) {
var marker=markers[i]
qqmapseventaddListener(marker, 'click', function() {
//通过this调用对应的marker
var lat=thisgetPosition()lat
var lng=thisgetPosition()lng
infoopen();
infosetContent('<div style="width:100px;height:100px; text-align:center;white-space:nowrap;margin:10px;">'+thisgetTitle()+'</div>');
infosetPosition(new qqmapsLatLng(lat,lng));
//consolelog(thisgetTitle())
});
}; consolelog(' addListener')
var info = new qqmapsInfoWindow({
map: map
});
consolelog('init map')
}如何在页面中调用百度地图,直接在你想要插入的页面上调用百度地图代码即可
百度地图调用API地址:>调用百度地图API,添加一个标注可以这样写:
mapaddOverlay(new BMapMarker(new BMapPoint(116404, 39915)));
添加多个Marker:
添加超过一千个会导致卡顿,而加载大量标记时应使用BMapPointCollection可以解决标记太多而卡顿的问题:
数据使用官方data: >我有一个用js 画圆形的效果 估计你改改就可以了,你将下面的代码保持下看看效果:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta >
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)