カスタム KML ファイルを使用して、鳥瞰図モードで Bing マップを実装しようとしています。KML インポート機能が組み込まれているので Bing v6 を使用していますが、問題があります。
これが私の実際の実装の例です: http://alturl.com/w78mw [壊れたリンク]
マップは KML を読み込みますが、想定どおりに鳥瞰図に切り替わりません。
手動で切り替えるとなぜかズームアウトできなくなりますが、何かのバグでしょうか?
API リファレンス:
メソッドの完全なプロトタイプImportShapeLayerData
を使用してコールバックを使用し、要素をロードした後にスタイルを設定できます。MSDN を参照してください:
http://msdn.microsoft.com/en-us/library/bb429606.aspx
プロパティ SetBestMapView (メソッドの最後のパラメーター) を使用して、ビューを自動的に設定するか、自分で設定することができます。
例:
そして、これがあなたのコードの例です:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Bing Maps KML</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?
v=6.3"></script>
<script type="text/javascript">
var map = null;
function GetMap() {
map = new VEMap('myMap');
map.SetCredentials("YOURKEY");
map.LoadMap();
map.SetMapMode(VEMapMode.Mode2D);
map.SetZoomLevel(1);
func_addGrid();
}
function func_addGrid() {
var atlasGrid = new VEShapeLayer();
var atlasShape = new VEShapeSourceSpecification(VEDataType.ImportXML,
"http://www.mediacode.pt/directions.kml", atlasGrid);
map.ImportShapeLayerData(atlasShape, function () {
map.SetMapStyle(VEMapStyle.Birdseye);
}, true);
}
</script>
</head>
<body onload="GetMap();">
<div id='myMap' style="position: relative; width: 600px; height: 400px;"></div>
</body>
</html>