需要帮忙!如何使用其API选择要在Google地图上绘制的特定多边形。融合表中的数据

时间:2018-10-30 04:16:18

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

我正在学习并尝试使用Google Map API从融合表中的数据中绘制选择区域。这是我从KML导入融合表的泰国省数据。 通过使用以下代码。

var map = new google.maps.Map(document.getElementById('map'), {
        center: { lat: 13.7248936, lng: 100.4930264 },
        zoom: 6
      })
      var layer = new google.maps.FusionTablesLayer({
        name: 'fsru',
        query: {
          select: 'geometry',
          from: '1aclHzWdYrUCcHHfgbmKnFTqTTppgeI0SkKNXPpYR'
        },
        styles: [{
          polygonOptions: {
            fillColor: '#ff0000',
            fillOpacity: 0.3
          }
        }, {
          where: 'project = name',
          polygonOptions: {
            fillColor: '#0000FF',
            fillOpacity: 1
          }
        }]
      })
      layer.setMap(map)

这是融合表。

https://fusiontables.google.com/DataSource?docid=1aclHzWdYrUCcHHfgbmKnFTqTTppgeI0SkKNXPpYR&fbclid=IwAR3VQLH51ONsnLm8v0KcWhk6MdcDFSeDvig3t1-tYoJ90-IqIm_XRJBLgzA#rows:id=1

我要在什么条件下绘制形状,通过选择要绘制的省份名称从融合中的几何图形中绘制多边形。但是通过此代码,即使我仅选择省名,也会显示所有多边形。

我有一个问题

当我使用

var layer = new google.maps.FusionTablesLayer({
            name: 'fsru',
            query: {
              select: 'geometry' and 'name',
              from: '1aclHzWdYrUCcHHfgbmKnFTqTTppgeI0SkKNXPpYR'
              where: 'name' like krabi
            },

它不起作用。

我只想选择要渲染的特定区域,但它不起作用。

1 个答案:

答案 0 :(得分:0)

您的where子句语法是问题所在。

function initialize() {

    var mapOptions = {
        center: new google.maps.LatLng(8.16,99),
        zoom: 6,
        mapTypeId: 'roadmap'
    };

    var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);

    var layer = new google.maps.FusionTablesLayer({
        query: {
            select: 'geometry',
            from: '1aclHzWdYrUCcHHfgbmKnFTqTTppgeI0SkKNXPpYR',
            where: "'name' like 'Krabi'",
        },
        styles: [{
            polygonOptions: {
                fillColor: '#9acd32',
                fillOpacity: 1,
                strokeWeight: 0
            }
        }],
        map: map
    });
}

initialize();
#map-canvas {
  height: 150px;
}
<div id="map-canvas"></div>
<script src="https://maps.googleapis.com/maps/api/js"></script>