1

ArcGIS 2.1 JS API を使用して、Google マップに似たカスタム インターフェイスを作成しようとしています。

私を混乱させているのは (特に Dojo のレイアウト スキームで)、Google マップには、ページの幅全体を拡張するマップ ペインがあり、左側の検索結果パネルがマップ ペインの上に浮いているように見える方法です。

これは Dojo レイアウトに関してどのように機能しますか? 私はイライラして BorderContainers を操作し、FloatingPane のドキュメントを見ても役に立ちませんでした。

どんな方向でも大歓迎です。

4

2 に答える 2

4

トラブルシューティングまたは設計のいずれかで、どのような問題が発生しているのかわかりませんが、機能する可能性のある厳格な構造の例を次に示します。

<html>

<head>
<title>dojo/google map example</title>

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.5.0/dojo/resources/dojo.css" type="text/css" media="all" />
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.5.0/dijit/themes/claro/claro.css" type="text/css" media="all" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script djConfig="parseOnLoad:true" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.5.0/dojo/dojo.xd.js"></script> 

<script type="text/javascript">
dojo.require( "dijit.layout.BorderContainer" );
dojo.require( "dijit.layout.ContentPane" );
dojo.addOnLoad( function() {
    var myLatlng = new google.maps.LatLng(38.887, -77.016);
    var myOptions = {
        zoom: 13,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    var marker = new google.maps.Marker({
        position: myLatlng, 
        map: map,
        title:"Hello World!"
    });   
});
</script>

</head>

<body class="claro" style="height:100%;padding:0;margin:0; overflow:hidden">


<div dojoType="dijit.layout.BorderContainer" style="height:100%">
    <div dojoType="dijit.layout.ContentPane" region="left" splitter="true" style="width:200px">
        Left search thing
    </div>
    <div dojoType="dijit.layout.ContentPane" region="top" style="height:100px">
        Top
    </div>
    <div dojoType="dijit.layout.ContentPane" region="center" style="overflow:hidden">

        <div id="map_canvas" style="height:100%; width:100%"></div>

    </div>
</div>

</body>

</html>

エキスパンド ペインやその他のギズモの代わりにコンポーネントを使用できますが、これは技術的には次のように機能し、次のようになります。

http://imgur.com/ASlGG.png

于 2010-10-04T21:46:53.173 に答える
3

または、ArcGIS Extension for Google Maps を使用することもできます:)

http://resources.esri.com/arcgisserver/apis/javascript/gmaps/

于 2010-10-22T08:21:07.850 に答える