Javascript 谷歌地图自定义数据层在缩放时不触发

Javascript 谷歌地图自定义数据层在缩放时不触发,javascript,google-maps,google-maps-api-3,geojson,Javascript,Google Maps,Google Maps Api 3,Geojson,由两部分组成的问题:我写的if语句有什么问题?我是否正确使用了setMapnull 我有一张地图,我想根据缩放级别显示不同的地理位置。当我设置以下内容时,缩放时会显示更精细的比例,但这只是相加,不是实际的更改: if ($('#map').length) { google.maps.event.addListener(map, 'zoom_changed', function() { zoomLevel = map.getZoom(); if (zoomLevel &

由两部分组成的问题:我写的if语句有什么问题?我是否正确使用了setMapnull

我有一张地图,我想根据缩放级别显示不同的地理位置。当我设置以下内容时,缩放时会显示更精细的比例,但这只是相加,不是实际的更改:

   if ($('#map').length) {

  google.maps.event.addListener(map, 'zoom_changed', function() {
    zoomLevel = map.getZoom();
    if (zoomLevel <= 11) {
      window.map.data.loadGeoJson( "toronto_regions.geojson" );

    }
    else {
      window.map.data.loadGeoJson( "districts.geojson" );
    }
  })

对setMap的任何输入都将不胜感激-操作谷歌地图对我来说是一个新领域。

您有语法错误:

elseif应该是else如果 }else zoomLevel>=11{应该是}else如果zoomLevel>=11{
我怀疑您需要window.map.data.setMap

请提供一个示例来说明您的问题。您能澄清一下吗?很多这类内容都是自定义和本地的,并且问题仅限于此事件。问题已更新以显示语法更正。
window.map.mapTypes.set('styled_map', styledMapType);
window.map.setMapTypeId('styled_map');

if ($('#map').length) {
  window.map.data.loadGeoJson( "cities.geojson" );
  google.maps.event.addListener(map, 'zoom_changed', function() {
    zoomLevel = map.getZoom();
    if (zoomLevel < 12 || zoomLevel > 9) {
      window.map.data.setMap('null');
      window.map.setMapTypeId('styled_map');
      window.map.data.loadGeoJson( "cities.geojson" );
    } else if (zoomLevel <= 9) {
       window.map.data.setMap('null');
       window.map.setMapTypeId('styled_map');
       window.map.data.loadGeoJson( "county.geojson" );
    } else if (zoomLevel >= 11) {
       window.map.data.setMap('null');
       window.map.setMapTypeId('styled_map');
       window.map.data.loadGeoJson( "districts.geojson" );
    };
  })