【发布时间】:2010-12-05 01:44:36
【问题描述】:
当我通过谷歌地图设置中心时
map.setCenter(new GLatLng(28.6589, 77.2104), 13);
它不仅设置了地图的中心,还在那个地方添加了一个我不想要的标记。
更新
我觉得分享我的代码并没有什么坏处,至少它也可以帮助其他人。这是我写的整个脚本
<script type="text/javascript">
var map;
function initialize() {
if (GBrowserIsCompatible()) {
map= new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(28.6589, 77.2104), 13);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.clearOverlays();
//alert(PlottingMarkersDetails);
}
setInterval("plotVehicles()",1000);
}
function plotVehicles()
{
try
{
map.clearOverlays();
var bounds = new GLatLngBounds();
if(document.getElementById("<%=hf_SelectedVehiclePlottingDetails.ClientID %>"))
{
var PlottingMarkersDetails=document.getElementById("<%=hf_SelectedVehiclePlottingDetails.ClientID %>").value;
var arrVehicleDetails=PlottingMarkersDetails.split("@");
alert(arrVehicleDetails.length);
for(var i=0; i<arrVehicleDetails.length;i++)
{
var currentVehicleInfo=arrVehicleDetails[i].split(",");
var point = new GLatLng(parseFloat(currentVehicleInfo[1]),parseFloat(currentVehicleInfo[2]));
var marker = createMarker(point,currentVehicleInfo[0] + "<br/>" + currentVehicleInfo[4] + "<br/>" + currentVehicleInfo[3] );
//bounds.extend(point);
map.addOverlay(marker);
}
//map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
}
}
catch(err)
{
}
}
function createMarker(point,html) {
var blueIcon = new GIcon(G_DEFAULT_ICON);
blueIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
markerOptions = { icon:blueIcon };
var marker = new GMarker(point,markerOptions);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
</script>
【问题讨论】:
-
就像约瑟夫在下面指出的那样, setCenter() 不添加任何标记。问题出在代码的其他地方。如果您可以发布链接或更多代码,我们可以看到真正的问题在哪里。
-
另外,请格式化/缩进/等你的代码。您发布的内容几乎无法阅读。
-
对不起,我不知道如何格式化,我只是复制并粘贴在我的 IDE 中正确格式化的代码
-
要格式化代码,请单击编辑器工具栏上的代码按钮。
标签: asp.net javascript google-maps