将Google地图的卫星标签更改为v3.8中的其他内容?

时间:2012-03-06 20:52:51

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

我有一个使用v3.8 api在Javascript中创建的Google地图:

var myOptions = {
      center: map_center,
      panControl: false,
      zoomControl: true,
      scaleControl: true,
      streetViewControl: false,
      mapTypeControlOptions: {
        mapTypeIds: [google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.ROADMAP],
        style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
      }
    };
var map = new google.maps.Map(Dom.get('map_canvas'), myOptions);

但是我不希望maptype控件中的标签是'Satellite',我想先说点别的。没有像这样做自定义控件的任何方法:

http://code.google.com/apis/maps/documentation/javascript/controls.html#CustomControls

谢谢!

布赖恩

2 个答案:

答案 0 :(得分:4)

[目前]可以用

更改标签
map.mapTypes.satellite.name='NewName';
map.setOptions({'mapTypeControl':true});

地图初始化后需要设置标签,因此可以使用地图addListenerOnce事件中的idle。示例:http://www.acleach.me.uk/gmaps/v3/map-customlabels.htm

答案 1 :(得分:1)

我认为,无法使用Google Maps API更改mapTypes的标签(可能用于本地化)。所以我建议的方式是创建自己的mapTypes菜单。创建菜单并使用菜单项的点击来调用谷歌地图对象的setMapTypeId方法。