0

ユーザーが現在地周辺の場所を表示できるアプリを構築しようとしています。

ここで Google Maps API と Google Places Library が機能していることを確認できますが、1 つとしてではありません: http://www.blazingsasquatch.com/geo/index4.html

「show me my loc」ボタンで現在地が表示され、地図にはボストンの任意の場所と近くの場所が表示されます。

経度と緯度の両方の変数を作成し、これらの変数を「pyrmont」位置変数に直接渡そうとしましたが、うまくいきませんでした。

最初に、次を使用して「pyrmont」の場所を設定しようとしましたが、うまくいきませんでした: google.maps.LatLng(position.coords.latitude, position.coords.longitude);

では、現在の場所を取得するにはどうすればよいでしょうか。

var pyrmont = new google.maps.LatLng("現在地はこちら");

変数または整数のみを受け入れますか?

4

2 に答える 2

0

LatLng コンストラクターは、次のように 2 つの浮動小数点数を取ります。

pos = new google.maps.LatLng(-34.397, 150.644);

ソースコードを確認した後、別の問題があるようです: getCurrentPosition()に渡す匿名のコールバック関数は、地理的な場所が見つかったときに呼び出されます。これには時間がかかる場合があります (特に GPS などを使用する場合)。initialize()はページが読み込まれるときに呼び出されますが、これは早いため、この時点ではplaceは設定されていません (さらに、グローバル変数ではないため、initialize() では表示されませんが、気にしないでください)。したがって、現在initialize()で行っていることを、 getCurrentPosition()に渡すコールバック関数に移動する必要があります。次に、使用できます

var pyrmont = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
于 2012-03-04T07:28:47.103 に答える
0

initialize は のコールバックの前に呼び出されるnavigator.geolocation.getCurrentPosition()ため、その結果を initialize() で使用することはできません (非同期リクエストとして getCurrentPosition を表示できます)。

のコールバック内でアクション(マーカーの作成と場所リクエスト)を呼び出しますgetCurrentPosition()

実際のデモを参照してください: http://jsfiddle.net/doktormolle/C5ZtK/

于 2012-03-04T09:42:08.680 に答える