2011-12-24 7 views
1

Googleマップのようなインターフェイスを作成しようとしています。 つまり、画面に画像を表示したいのですが、ドラッグすると必要に応じて画像の一部を読み込みたいと思います。私のイメージは水平に無限に長いですが、その垂直高さは固定された200ピクセルです。Googleマップのように動作するインターフェイス(クライアント側)を作成する

サーバ側は準備ができており、必要に応じて画像データを返信します。

私の質問は、どのようにクライアント側の画像をドラッグすることを実装するのですか?私はGWTを使ってこれを試しています。私はどのようにユーザーに画像を表示し、左/右にドラッグすることができます把握することができません。私はこのサイトとすべてのGoogleマップの関連する質問を読んだが、それでも私はこれのクライアント側の部分を実装する方法を把握することができません。

ありがとう、

答えて

1

あなたは自分でドラッグとズームを実装していません。

Google Javascript APIまたはそのGWTラップAPIを呼び出します。

サービスは、HTMLページのDOM上のキャンバスにドラッグ可能なズーム可能なマップを提供します。

マップフレームの座標とフィーチャーを指定します。あなたのアプリはマップサービスと通信して、ユーザーが何をしているのかを調べます。マップキャンバス上でユーザーの操作を直接制御することはありません。地図サービスとの通信/リクエストが必要です。

http://code.google.com/p/gwt-google-apis/wiki/MapsGettingStarted

また、Maps/Latitude Javascript APIを直接使用することもできます。マップキャンバスを保持するdivの周りに独自のgwtラッパーを配置するのは簡単です。 REST APIを介して地図サービスと通信し、jsonまたはxmlのいずれかを受け取ります。

場所の画像を要求していないことを確認してください。

たとえば、次の単純なhtml(私はマップのapiサイトから盗んだ)は、ドラッグ可能な/ズーム可能なマップを表示します。ハードワークは必要ありません。

map_canvas idを保持するdivに注目してください。あなたはGWTでそれをラップする必要があります。 divにキャンバスを配置してgwtにラップすることは、このユーティリティがjavascriptで記述されているイメージ作成ツールやチャート作成ユーティリティをローカルで作成する場合でも標準的な方法です。 DOM.getElementByIdはあなたの良い友達でなければなりません。マップキャンバスの周りにあなたのgwtルートパネルのものを混乱させるだけです。

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<style type="text/css"> 
    html { height: 100% } 
    body { height: 100%; margin: 0; padding: 0 } 
    #map_canvas { height: 100% } 
</style> 
<script type="text/javascript" 
    src="http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=true"> 
</script> 
<script type="text/javascript"> 
    function initialize() { 
    var latlng = new google.maps.LatLng(-34.397, 150.644); 
    var myOptions = { 
     zoom: 8, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvas"), 
     myOptions); 
    } 

</script> 
</head> 
<body onload="initialize()"> 
    <div id="map_canvas" style="width:100%; height:100%"></div> 
</body> 
</html> 
関連する問題