2011-01-25 129 views
-1

我有一个网站包含谷歌地图。我需要将图片固定在地图上的特定位置。 是否可以将该图像进行programetically添加到地图。 例如,如果我的数据库包含图像位置和要添加的位置的详细信息,则需要将我的数据库中的所有图像添加到放置在地图中的相应位置。添加图片到谷歌地图

如果可能的话,我可以使用哪种Google API来达到此目的。我的开发环境是LAMP。

谢谢, 同伴。

回答

0

您首先需要在地图上创建标记。标记显示为推针(但您可以使用任何其他图标)。标记暴露了您可以绑定事件侦听器的事件click。在事件监听器中,您可以使用信息窗口来显示任何html内容。请参阅下面的示例和演示:

<script type="text/javascript" src="http://maps.google.com/maps?file=api&v=2&key=YOUR--API--KEY--GOES--HERE"> 
<div id="mapContent" style="height: 400px;"></div> 
<script stye="text/javascript"> 
    // INITIALIZE MAP 
    var map = new GMap2(document.getElementById("mapContent")); 
    map.setCenter(new GLatLng(0, 0), 5); 
    map.addControl(new GLargeMapControl3D()); 
    map.addControl(new GMenuMapTypeControl()); 
    // INITIALIZE MARKER DATA 
    var markers = []; 
    // GENERATE THIS FRAGMENT VIA PHP { 
    markers.push({ 
    lat: parseFloat('1'), 
    lng: parseFloat('1'), 
    html: '<p><img src="http://farm5.static.flickr.com/4067/4337577836_71afd9a9e2_m.jpg"></p>' 
    }); 
    markers.push({ 
    lat: parseFloat('-1'), 
    lng: parseFloat('-1'), 
    html: '<p><img src="http://farm2.static.flickr.com/1039/1289471738_c8c7e329af_m.jpg"></p>' 
    }); 
    // } 
    // ADD MARKERS TO MAP 
    for (var i = 0; i < markers.length; i++) { 
    var marker = new GMarker(new GLatLng(markers[i].lat, markers[i].lng)); 
    map.addOverlay(marker); 
    GEvent.addListener(marker, "click", (function (j) { 
     return function() { 
     this.openInfoWindowHtml(markers[j].html); 
     }; 
    })(i)); 
    } 
</script> 

Demo here

+0

谢谢你的回复,它的作品为我。一个更多的问题,是否可以添加多个图像到相同的标记。 – user232751 2011-01-25 14:24:52