Javascript 谷歌地图从fusiontable获取kml并显示它们
我想为荷兰建造一些类似的东西。我有省份的名称,你点击其中一个,它应该会显示它的边界,所以设置正确的边界。这是我的密码:Javascript 谷歌地图从fusiontable获取kml并显示它们,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我想为荷兰建造一些类似的东西。我有省份的名称,你点击其中一个,它应该会显示它的边界,所以设置正确的边界。这是我的密码: var FT_TableID = "19lLpgsKdJRHL2O4fNmJ406ri9JtpIIk8a-AchA"; var CountryName = "Netherlands"; google.load('visualization', '1', { 'packages': ['corechart', 'table', 'geo
var FT_TableID = "19lLpgsKdJRHL2O4fNmJ406ri9JtpIIk8a-AchA";
var CountryName = "Netherlands";
google.load('visualization', '1', {
'packages': ['corechart', 'table', 'geomap']
});
jQuery(document).ready(function() {
var mapProp = {
center: new google.maps.LatLng(52.24730, 5.36449),
zoom: 7,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
jQuery("span").click(function() {
var name = jQuery(this).text();
//map.fitBounds(gpolygons[id].bounds);
var queryStr = {
select: 'kml_4326',
from: FT_TableID,
where: "'name_0' = '" + CountryName + "' AND 'name_1' = '" + name + "'"
};
var query = new google.visualization.Query('http://www.google.com/fusiontables/gvizdata?tq=' + queryStr);
var FT_Options = {
suppressInfoWindows: true,
query: query
};
layer = new google.maps.FusionTablesLayer(FT_TableID, FT_Options);
layer.setMap(map);
});
});
codepen上还有一个工作示例:
我的问题:它显示查看端口中所有内容的边界和kml数据,而不仅仅是所选省份。问题出在哪里了?我还希望像geocodezip的示例一样,将视图端口设置为所选的省。为此,我需要boundsdata并将其设置为bounds.extend和map.fitBoundsbounds。但是我从哪里可以获得这些数据呢?您的语法没有达到预期的效果,因为您使用了错误的语法-旧语法,而不是语法。旧语法不适用于加密的ID。如果查询语法不正确,但您给它一个有效的表,它将显示所有数据
旧语法:
layer = new google.maps.FusionTablesLayer(FT_TableID, FT_Options);
这是当前记录的语法:
var FT_Options = {
suppressInfoWindows: true,
query: {
select: 'kml_4326',
from: FT_TableID,
where: "'name_0' = '" + CountryName + "'"
},
styles: [{
polygonOptions: {
strokeColor: "#FF0000",
strokeWeight: 3
}
}]
};
layer = new google.maps.FusionTablesLayer(FT_Options);
您的省查询也有问题您的省名称拼写错误或至少与表中的名称不同,因此查询与任何行都不匹配
代码段:
var FT_TableID=19lLpgsKdJRHL2O4fNmJ406ri9JtpIIk8a AchA;
var CountryName=荷兰;
google.load'visualization'、'1'{
“包”:[“corechart”、“table”、“geomap”]
};
jQuerydocument.readyfunction{
var mapProp={
中心:新google.maps.LatLng52.24730,5.36449,
缩放:7,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.Mapdocument.getElementByIdgoogleMap,mapProp;
变量queryStr={
选择:“kml_4326”,
发件人:FT_TableID,
其中:'name_0'='+CountryName+'
};
var FT_选项={
suppressInfoWindows:对,
查询:queryStr,
风格:[{
多克隆选择:{
strokeColor:FF0000,
冲程重量:3
}
}]
};
layer=新的google.maps.FusionTablesLayerFT\u选项;
layer.setMapmap;
jQueryspan.clickfunction{
var name=jQuerythis.text;
变量queryStr={
选择:“kml_4326”,
发件人:FT_TableID,
其中:'name_0'='+CountryName+'和'name_1'='+name+'
};
var FT_选项={
查询:queryStr,
风格:[{
多克隆选择:{
strokeColor:FF0000,
冲程重量:3
}
}]
};
layer.setoptions英尺选项;
};
};
html,
身体
谷歌地图{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}
泽兰
德伦特