我们使用这个脚本来展示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。
答案 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
- 地图类型选择器控件(切换黑白映射,卫星,混合等)