我使用以下示例代码嵌入Google Fusion Tables地图:
function initialize() {
var map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(37.4, -122.1),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var layer = new google.maps.FusionTablesLayer({
query: {
select: 'Address',
from: // My table id,
},
map: map
});
}
google.maps.event.addDomListener(window, 'load', initialize);
您可以从上面的代码中看到" center"设置为特定的长和纬度。如果我删除"中心"属性,它根本不渲染地图。
我正在寻找一些自动确定最佳位置的方法。我相信只使用一般的谷歌地图,您可以确定位置标记的边界并以此为中心?那么也许有办法从表中获取位置列表,然后从那里计算出边界?
注意:我了解嵌入地图还有其他选项,例如iframe,但在此项目中iframe不是我们的选项。此外,我知道您可以从"发布"中获取HTML / JS。 Fusion表中的选项,但要求用户能够仅使用表ID嵌入地图,这样他们就无法复制/粘贴任何HTML / JS。
答案 0 :(得分:1)
如果您在外部对地址进行地理编码并在表格中包含坐标,则可以使用Fusion Tables API v1或GViz (the google visualization API)查询表格,将坐标添加到google.maps.LatLngBounds object,然后使用居中并缩放地图,以google.maps.Map.fitBounds显示所有点。