将地图缩放添加到此代码(gmap)

时间:2011-09-07 07:46:14

标签: javascript google-maps google-maps-api-2

我们使用这个脚本来展示Gmap,但我不能为我的生活记住是谁为我们做的,我知道的是我们需要添加Map Zoom ..如果我知道怎么做就会出错。

脚本如下:

var userLocation = '<?php echo $address; ?>';

if (GBrowserIsCompatible())
{
    var geocoder = new GClientGeocoder();
    geocoder.getLocations(userLocation, function (locations)
    {
        if (locations.Placemark)
        {
            var north = locations.Placemark[0].ExtendedData.LatLonBox.north;
            var south = locations.Placemark[0].ExtendedData.LatLonBox.south;
            var east = locations.Placemark[0].ExtendedData.LatLonBox.east;
            var west = locations.Placemark[0].ExtendedData.LatLonBox.west;
            var bounds = new GLatLngBounds(new GLatLng(south, west), new GLatLng(north, east));
            var map = new GMap2(document.getElementById("map_canvas"));
            var Icon = new GIcon();
            Icon.image = "http://somesite.com/marker.png";
            Icon.iconSize = new GSize(33, 50);
            map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
            map.addOverlay(new GMarker(bounds.getCenter()), Icon);
        }
    });
}

PHP实际上从我们的dB中抓取地址,并且地图绘制了该位置,这与该脚本无关。

只需要缩放功能。

我尝试过添加:

mapTypeControl: false,
zoomControl: true,

没有运气......我是一个完全的gMap noob。

1 个答案:

答案 0 :(得分:1)

这看起来像Google Maps API第2版代码。可以找到文档here

var map = new GMap2(document.getElementById("map_canvas"));
// //// add this code \\\\
map.addControl(new GLargeMapControl3D());  // large pan+zoom control (3d)
// \\\\ add this code ////
var Icon = new GIcon();

您也可以使用(和添加)其他控件。例如:

  • GSmallMapControl - pan + zoom control的紧凑版本
  • GSmallZoomControl - 缩放版缩放控制
  • GScaleControl - 向地图添加比例信息
  • GMapTypeControl - 地图类型选择器控件(切换黑白映射,卫星,混合等)