我正试图创建一个"服务区域的谷歌地图"在美国&加拿大偶然发现了这个融合表层的东西。认为它会很好,但我遇到了问题。
我无法创建融合表&在没有付费谷歌的情况下将其公之于众,我不会使用现有的公共桌面。
我需要将样式应用于融合表层,但我正在加载2个融合表(层)和API仅允许将样式添加到一个图层。
这是我的代码:
<script>
function initMap() {
// Styles a map in night mode.
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 40.237395466608156, lng: -93.68512878417971},
zoom: 3.9,
styles: []
});
var usa_geometry = new google.maps.FusionTablesLayer({
query: {
select: 'geometry',
from: '1ZZ8j0NDbs2dilcQWjLh9xI7qIJso6DgYAoGTbA',
where: "STATE IN ('North Dakota', 'Minnesota', 'Wisconsin', 'Ohio', 'Indiana', 'Iowa', 'Illinois', 'Kentucky', 'Missouri', 'Tennessee', 'Arkansas', 'Florida', 'Alabama', 'Mississippi', 'Louisiana', 'Texas', 'Oklahoma', 'Kansas', 'Nebraska', 'South Dakota')",
},
styles: [
{
polygonOptions: {
fillColor: "#006db7",
strokeColor: "#006db7",
fillOpacity: ".5",
},
}],
map: map,
suppressInfoWindows: true
});
var canada_geometry = new google.maps.FusionTablesLayer({
query: {
select: 'geometry',
from: '1auwG6s4axorHR-QAX3UDXL544pSEXlbxmyu6xvJC',
where: "Place IN ('Quebec', 'Ontario', 'Manitoba')",
},
styles: [
{
polygonOptions: {
fillColor: "#006db7",
strokeColor: "#006db7",
fillOpacity: ".5",
},
}],
map: map,
suppressInfoWindows: true
});
};
</script>
所以:
有没有办法在本地使用融合表多边形数据?即导出CSV并加载?
有没有办法在一个地图图层中加载来自(加入)2个融合表的数据?
我还有另一种选择吗?
答案 0 :(得分:2)
有没有办法在本地使用融合表多边形数据?即导出CSV并加载?
是的,Fusion Table can be downloaded as KML,您可以使用toGeoJson之类的第三方应用/库在GeoJSON中加载应用。
有没有办法在一个地图图层中加载来自(加入)2个融合表的数据?
您必须merge the tables through the Fusion Tables UI进入一个Fusion Table并加载该图层。
我还有另一种选择吗?
是的,因为您邮件的第一部分不正确:“我无法创建融合表,并且无需支付Google费用即可将其公开....”
您无需向Google支付费用即可创建Public or Unlisted Fusion Tables。
此外,当您转到created Fusion Table in the UI,选择Tools->Publish
并选择“获取HTML和JavaScript”时,您会看到{{1}的以下未记录选项“options
” }}:
FusionTablesLayer
您可以使用layer = new google.maps.FusionTablesLayer({
map: map,
heatmap: { enabled: false },
query: {
select: "col12",
from: "1ClpNLfPQnhEex1KvGg5FrHPgzXgSu1ZvFEL9a2l1",
where: ""
},
options: {
styleId: 2,
templateId: 2
}
});
覆盖Javascript API应用的默认样式,并使用您在Fusion Tables UI中定义的样式。
这是simple sample JSBin,显示了options
的Javascript中定义的Fusion表样式,而usa_geometry
的Fusion Tables UI中定义的Fusion表样式: