openlayers显示离线地图,设置中心点并添加标记响应鼠标单击事件
大家好,我现在用openlayers显示离线地图,地图已经显示,但是还有两个问题,希望好心人和楼主解答:问题一:我在地图上加上标记之后,地图的中心点设置就无效了,为什么?
问题二:我定一个鼠标单击事件,虽然能够响应,但是当我用for循环让它分别响应多个事件时,就出现问题了,问题是,无论我单击哪个标记,它都显示最后一个标记的内容,为什么?
问题的图形如下,
图形总是显示在右上角,无论我的中心点设在什么地方
单击蓝色标记,但是在红色标记显示了内容,无论点击哪个,都是这样、
部分代码如下,
for(var i=0;i<lon.length;i++){
lo[i] = lon[i] * 20037508.34 / 180;
la[i] = Math.log (Math.tan ((90 + lat[i]) * PI / 360)) / (PI / 180);
la[i] = la[i] * 20037508.34 / 180;
var popupId = "popup_"+i;
var lonLatMarker = new OpenLayers.Marker(new OpenLayers.LonLat(lo[i], la[i]),icon[i]);
markers.addMarker(lonLatMarker);
//var llmarkers=new OpenLayers.LonLat(lon[i], lat[i]);
var popup = new OpenLayers.Popup.FramedCloud(popupId, new OpenLayers.LonLat(lo[i], la[i]),
new OpenLayers.Size(160,100),
"<div style='font-size:15'><strong>"+str[i]+"</strong>"+"<br>经度:"+lon[i]+"E"+" <br>纬度:"+lat[i] +"N"+"<br><br><a href='http://ditu.google.cn/maps'>详细信息...</a>"+"</div>",
null, true,closePopUp);
popup.autoSize=false;
map.addPopup(popup);
popup.hide();
lonLatMarker.events.register('click', new OpenLayers.LonLat(lon[i], lat[i]),function(){popup.show()} );
}
function closePopUp(){
this.hide();
}
注意:我是用js+openlayers显示离线地图并且添加标记的、 --------------------编程问答-------------------- 哥们问题解决了吗?我们也在开发离线地图,有时间交流一下经验 --------------------编程问答-------------------- 哥们问题解决了吗?我们也在开发离线地图,有时间交流一下经验 --------------------编程问答-------------------- 我也遇到了这个问题,解决了吗?可以分享一下吗 --------------------编程问答-------------------- 我还没显示出来离线地图呢,谁来帮帮我吧。
补充:Java , Java相关