[英]Set Initial View When Opening KMZ in GE
我正在創建一個KMZ文件作為我程序的輸出(使用SharpKML)。 如何設置初始視圖,以便在Google地球中打開此文件時,它會居中並縮放我的數據?
當我在GE中打開KML文件時,默認情況下會出現這種情況,但是當我打開KMZ時,瀏覽器只會打開以用戶所在國家/地區為中心的默認全局視圖。 如果我雙擊KMZ文件中的主要KML,那么我將獲得正確的縮放並以數據為中心。 當Google地球加載KMZ時,如何自動完成此操作?
謝謝。
如果將LookAt或Camera添加到根KML文件中的第一個元素(KMZ中的第一個.kml文件),Google Earth將在加載該文件時從該位置開始。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
<Placemark>
<name>Google office</name>
<LookAt>
<longitude>-122.087387</longitude>
<latitude>37.422130</latitude>
<altitude>0</altitude>
<heading>-0.23</heading>
<tilt>47.81</tilt>
<range>115.5</range>
<gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
</LookAt>
<Point>
<coordinates>-122.087461,37.422069</coordinates>
</Point>
</Placemark>
</kml>
如果您有多個功能,則將<LookAt>
添加到根級文檔。
<kml>
<Document>
<LookAt>
...
</LookAt>
<Placemark>
</Placemark>
...
在Google地球/ Google地球專業版中,還有一種非常簡單的方法:
只需右鍵單擊並顯示“場所中的文件夾”的屬性。
轉到視圖選項卡,然后單擊快照當前視圖。
然后保存位置以更新kmz / kml。
這會更新您單擊的級別上的<LookAt>
- 因此對於地標級別的某個點,或者您可以在文件夾級別執行此操作。
我曾經在Javascript中打開我的kmz文件並且它們會自動居中,但是幾周之前,我的地圖在北極上方打開了。 我很久以前創建了kmz文件,我不想看它們或編輯它們。 是否有一些我可以添加的代碼,以便它像以前一樣工作? 我有我的開放代碼
var overlay = new GGeoXml(\"http://www.mysite.com/data/file.kmz" ) ;
map.addOverlay( overlay ) ;
這個虛假的代碼似乎沒有初始化任何東西,但工作
var bounds = new GLatLngBounds();
// initialize bounds ??
var SWcorner= new GLatLng(parseFloat(87),parseFloat(-1));
var NEcorner= new GLatLng(parseFloat(89),parseFloat(1));
bounds.extend(SWcorner);
bounds.extend(NEcorner);
map.setCenter(new GLatLng(88.0, 0), map.getBoundsZoomLevel(bounds),
G_PHYSICAL_MAP);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.