问题
When setting the google map type:
map.setMapTypeId(google.maps.MapTypeId.TERRAIN);
Can I replace "TERRAIN" by a js variable containing the string "TERRAIN", "SATELLITE", etc?
回答1:
Yes, call it like this:
var mapType = "TERRAIN";
map.setMapTypeId(google.maps.MapTypeId[mapType]);
回答2:
//Console output of MapTypeId
google.maps.MapTypeId
{ROADMAP: "roadmap", SATELLITE: "satellite", HYBRID: "hybrid", TERRAIN:"terrain"}
HYBRID:"hybrid"
ROADMAP:"roadmap"
SATELLITE:"satellite"
TERRAIN:"terrain"
//change mapTypeId
map.setMapTypeId("terrain"); //example with hybrid
//or
map.setMapTypeId(google.maps.MapTypeId.TERRAIN); // same example with hybrid
//or as you want
map.setMapTypeId(google.maps.MapTypeId["TERRAIN"]); // same example with hybrid
来源:https://stackoverflow.com/questions/11769382/google-maps-api-v3-maptypeid-as-variable