Google maps 谷歌地图API-信息窗口高度和平移
我正在使用GoogleMapsAPI(v2)在世界地图上显示国家覆盖图。数据来自KML文件,该文件包含多边形坐标以及每个国家的HTML描述。单击该国家/地区时,此说明将显示在“信息窗口”语音气泡中 起初我遇到了一些麻烦,因为信息窗口没有扩展到它们包含的HTML内容的大小,所以较长的窗口会溢出边缘(这似乎是一个常见问题)。我可以通过将信息窗口重置为特定高度来解决此问题,如下所示:Google maps 谷歌地图API-信息窗口高度和平移,google-maps,kml,infowindow,Google Maps,Kml,Infowindow,我正在使用GoogleMapsAPI(v2)在世界地图上显示国家覆盖图。数据来自KML文件,该文件包含多边形坐标以及每个国家的HTML描述。单击该国家/地区时,此说明将显示在“信息窗口”语音气泡中 起初我遇到了一些麻烦,因为信息窗口没有扩展到它们包含的HTML内容的大小,所以较长的窗口会溢出边缘(这似乎是一个常见问题)。我可以通过将信息窗口重置为特定高度来解决此问题,如下所示: GEvent.addListener(map, "infowindowopen", function(iw) { iw
GEvent.addListener(map, "infowindowopen", function(iw) { iw = map.getInfoWindow(); iw.reset(iw.getPoint(), iw.getTabs(), new GSize(300, 295), null, null); });
虽然不理想,但它确实有效。但是现在,当信息窗口打开时,它们的顶部有时会被地图的边缘遮挡,因为地图不会平移到可以查看所有内容的位置
所以我的问题是:
google.load("maps", "2.x");
// Call this function when the page has been loaded
function initialize() {
var map = new google.maps.Map2(document.getElementById("map"), {backgroundColor:'#99b3cc'});
map.addControl(new GSmallZoomControl());
map.setCenter(new google.maps.LatLng(29.01377076013671, -2.7866649627685547), 2);
gae_countries = new GGeoXml("http://example.com/countries.kmz");
map.addOverlay(gae_countries);
GEvent.addListener(map, "infowindowopen", function(iw) { iw = map.getInfoWindow(); iw.reset(iw.getPoint(), iw.getTabs(), new GSize(300, 295), null, null); });
}
google.setOnLoadCallback(initialize);
我最终解决了这个问题,删除了我的调整大小侦听器,并在气球的开头添加了一些文本,然后使用CSS将气球隐藏起来。需要反复试验才能确定正确的高度。这不是一个理想的解决方案,但在API的未来版本提供多一点控制之前,它是可以工作的