9

なぜこれが機能するのか誰でも知っています:

var wickedLocation =  new google.maps.LatLng(44.767778, -93.2775);

しかし、これはしません:

var wickedCoords = "44.767778, -93.2775";
var wickedLocation =  new google.maps.LatLng(wickedCoords);

緯度と経度を別々の変数として渡そうとしましたが、それもうまくいきませんでした。座標を変数として正常に渡すにはどうすればよいですか? ありがとう!

4

3 に答える 3

17

この例では、2 つの異なる数値をコンストラクターに渡し、新しく作成されたオブジェクトを wickedLocation に割り当てています。

var wickedLocation =  new google.maps.LatLng(44.767778, -93.2775);

この例では、2 つの異なる数値座標を必要とするコンストラクターに単一の文字列値を渡しています。

var wickedCoords = "44.767778, -93.2775";
var wickedLocation =  new google.maps.LatLng(wickedCoords);

データ型は両方とも完全に異なります。

そうは言っても、座標を単一のオブジェクトとして表現したい場合は、次のようにすることができます。

var myHome = { "lat" : "44.767778" , "long" : "-93.2775" };

var yourHome = { "lat" : "23,454545" , "long" : "-92.12121" };

次に、Google から coords オブジェクトを作成する必要がある場合、単一のオブジェクトから派生した個々の引数としてデータを渡すことができます。

var wickedLocation =  new google.maps.LatLng( myHome.lat, myHome.long );
于 2012-05-20T20:15:29.597 に答える
7

例で示した形式で座標を文字列として取得している場合は、次のようにすることができます。

var b=wickedCoords.split(",");
var wickedLocation=new google.maps.LatLng(parseFloat(b[0]), parseFloat(b[1]));
于 2012-05-20T20:32:01.417 に答える
2

文字列を使用して座標を定義できると思いますが、1つではなく2つ(パラメーターごとに1つ)必要です。

wickedLat = '44.767778';
wickedLon = '-93.2775';
wickedLocation = new google.maps.LatLng(wickedLat, wickedLon);

フロートを直接使用しない場合、または文字列をフロートに解析する場合は、parseFloat()

于 2012-05-20T20:21:34.007 に答える