嘿。我试图将两个点放在具有相同div id的单个地图上。
但它不起作用。
代码:
for 1st,
var map = new GMap2(document.getElementById("map-canvas"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(<?=$lat;?>,<?=$lng;?>), 6);
var point = new GLatLng(<?=$lat;?>,<?=$lng;?>);
var marker = createMarker(point,'Welcome:<b></b><br>Second Info Window with an image<br><img src="http://localhost/gps/user_photo/" width=80 height=80>')
map.addOverlay(marker);
function createMarker(point,html) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
代表第二,
var map = new GMap2(document.getElementById("map-canvas"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(<?=$mylat;?>,<?=$mylng;?>), 6);
var point1 = new GLatLng(<?=$mylat;?>,<?=$mylng;?>);
var marker = createMarker1(point1,'Welcome:<b></b><br>Second Info Window with an image<br><img src="http://localhost/gps/user_photo/" width=80 height=80>')
map.addOverlay(marker);
function createMarker1(point,html) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
为什么两个点没有在一张地图中显示????? 它将在两个不同的地图中看到......
答案 0 :(得分:1)
//set up map as before
var point0 = new GLatLng(<?=$mylat0;?>,<?=$mylng0;?>);
var point1 = new GLatLng(<?=$mylat1;?>,<?=$mylng1;?>);
var marker0 = createMarker(point0,'Welcome:<b></b><br>First Info Window etc);
var marker1 = createMarker(point1,'Welcome:<b></b><br>Second Info Window etc);
map.addOverlay(marker);
// only declare this once
function createMarker(point,html) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
这是一种方法,只是为了让它适合你,但基本上js点和标记应该是你循环的数组 - 可能是PHP中的$ mylat和$ mylong变量。
答案 1 :(得分:0)
据我了解 - 你想在一个地图上的一个地图上添加两个点。 如果是这样 - 您不需要两次初始化Gmap,只需执行以下操作: http://pastebin.com/BtvdfaiP