如何在Google地图上设置中心?

时间:2009-10-08 16:41:16

标签: asp.net javascript google-maps

在我通过

设置中心时在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>

4 个答案:

答案 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()功能似乎正在添加标记。检查该功能正在从哪个数据中提取。