【问题标题】:Google maps cant change between types谷歌地图不能改变类型
【发布时间】:2016-10-10 04:18:38
【问题描述】:

我有两种地图类型,一种是路线图,一种是自定义地图。 当我更改地图的 typeMapId 并在选择地图时放大和缩小时,它会显示自定义地图一秒钟,但会在其上方显示路线图。

如果我将路线图的不透明度设置为 0.1,我可以看到自定义地图。 我做了一个 map.overlayMapTypes.push(custom) 无论选择什么 typeMapId,我都会在路线图上方看到自定义地图。 在网络选项卡中,我看到它首先获取自定义地图,然后是路线图。

// 地图选项

var mapOptions = {
    ...
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        mapTypeControlOptions: {
        mapTypeIds: [ "default_map", "custom" ]
    }
}

// 添加自定义地图

var custom_opts = {
    getTileUrl: ...,
    tileSize: new google.maps.Size(256,256),
    maxZoom: 24,
    minZoom: 3
}

var custom = new google.maps.ImageMapType(custom_opts);
custom.projection = new FlatProjection();
map.mapTypes.set("custom", custom);

// 类型之间的切换

if (self.customShown) {
    map.setMapTypeId("flatMap");
    self.customShown = false;
}
else {
    map.setMapTypeId("custom");
    self.customShown = true;
}

我可以做些什么来改变它们并在其他类型上方看到当前选择的类型?感谢您的帮助。

【问题讨论】:

  • 什么是"flatMap",不应该是map.setMapTypeId("default_map");
  • 地图类型必须存在,正如@duncan 指出的那样。 +查看我的答案以了解如何调用它。
  • 我正在从旧的地图服务器更改地图服务器,这部分已经存在。在我更改服务器之前它可以工作,如果我放入 default_map 或 roadmap,它就不起作用
  • 当我查看 map.mapTypes 时,它有自定义和平面地图。

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


【解决方案1】:

你可以这样使用它:

var mapType = "custom";
map.setMapTypeId(google.maps.MapTypeId[mapType]);

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-28
  • 2019-01-24
  • 2015-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多