我正在学习并尝试使用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)
这是融合表。
我要在什么条件下绘制形状,通过选择要绘制的省份名称从融合中的几何图形中绘制多边形。但是通过此代码,即使我仅选择省名,也会显示所有多边形。
我有一个问题
当我使用
var layer = new google.maps.FusionTablesLayer({
name: 'fsru',
query: {
select: 'geometry' and 'name',
from: '1aclHzWdYrUCcHHfgbmKnFTqTTppgeI0SkKNXPpYR'
where: 'name' like krabi
},
它不起作用。
我只想选择要渲染的特定区域,但它不起作用。
答案 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>