怎么用html+js写一个div,当点击地图的标注,d出类似于这样的div

怎么用html+js写一个div,当点击地图的标注,d出类似于这样的div,第1张

<html>
<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 >

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/13337179.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-31
下一篇2025-08-31

发表评论

登录后才能评论

评论列表(0条)

    保存