如何在不更改地图范围/缩放的情况下将KML添加为Google地图(javascript v3)中的图层?
我正在添加一个KML,它在全世界有几个事件,因为这个谷歌地图javascript v3将地图范围更改为一个非常大的缩小视图.
这是一些示例代码:
function loadOverlay(inc)
{
var overlay = new google.maps.KmlLayer(inc);
overlay.setMap(map);
overlayArray.push(overlay);
}
function initialize_gmap()
{
var Rochester = new google.maps.LatLng(43.1561, -77.607);
var myOptions = {
zoom: 11,
center: Rochester,
mapTypeId: google.maps.MapTypeId.TERRAIN
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
//Then i initialize the map here, and load the kml
initialize_gmap();
loadOverlay("linktokml.kml");
Run Code Online (Sandbox Code Playgroud)
加载kml后,它将进行非常大的缩放以显示kml中的所有位置.我怎么能阻止这个,或者回到我的初始范围/缩放?
提前致谢.
这就是我在做的事情:
我正在使用多维数组,或者更确切地说,是一个哈希数组,并尝试将其从我的perl脚本传递到python脚本中.目前我正在将它转换为json,然后将json字符串作为文字字符串作为参数传递给python脚本.
哈希数组类似于以下示例:
%HoH = (
id10001 => {
lat => "180",
long => "-180",
},
id10002 => {
lat => "180",
long => "-180",
},
id10003 => {
lat => "180",
long => "-180",
}
);
Run Code Online (Sandbox Code Playgroud)
我然后在我的perl脚本中,变成一个json字符串:
{
"id10001": { "lat": "180", "lon": "-180" },
"id10002": { "lat": "180", "lon": "-180" },
"id10003": { "lat": "180", "lon": "-180" },
}
Run Code Online (Sandbox Code Playgroud)
然后传递给python脚本.python脚本将json字符串解码回原始构造的数组结构.
有没有更好的方法将数组或多维数组从perl脚本传递到python脚本?
预先感谢您的帮助
我正在使用Perl程序,只需使用打开,打印,关闭的典型函数就可以写入XML文件.XML文件稍后由PHP Web应用程序消化.
#!/usr/bin/perl
#opening file
open FILE, ">derp.xml" or die $!;
#data is created in variables like so...
$first = '<\?xml version=\"1.0\" encoding=\"UTF-8\" \?>';
$openperson = '<person>\n';
$name = '<name>Gary</name>\n';
$birthday = '<brithday>01/10/1999</birthday>\n';
$car = '<car>minivan</car>\n';
$closeperson = '</person>\n';
#writing variables to file
print FILE $first;
print FILE $openperson;
print FILE $name;
print FILE $birthday;
print FILE $car;
print FILE $closeperson;
close FILE;
Run Code Online (Sandbox Code Playgroud)
或多或少这基本上是当前系统的工作方式.我相信一定有更好的方法.