在我通过
设置中心时在Google地图中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>
答案 0 :(得分:1)
setCenter
方法不会添加标记。
您可能正在调用其他方法,即添加标记;请发布所有代码。
答案 1 :(得分:1)
我建议您调试代码。我只看到一个你正在调用的地方map.addOverlay()
- 在这里添加一个断点,看看你是否曾经调用它,如果是,请查看调用堆栈。
将整个应用程序粘贴到stackoverflow问题中可能不是正确的调试技术:)
答案 2 :(得分:0)
我刚刚在Google Playground中运行了一些示例代码,并且在使用map.setCenter()时没有添加标记
我运行了以下内容:
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
}
}
<强>更新强>
从您刚刚提到的新代码开始,您关注的标记必须添加到plotVehicles功能中。我会看看你带回来的车辆数据,看看那里有什么东西。
答案 3 :(得分:0)
您的plotVehicles()
功能似乎正在添加标记。检查该功能正在从哪个数据中提取。