0

場所を含む変数を使用して Google マップ マップにピンを配置したいのですが、このようなピンを作成すると、ピンが機能します。

var imageDriver = 'marker.png';
var DriverLatLng = new google.maps.LatLng(62.446026, 17.331340);
var driverMarker = new google.maps.Marker({
    position: DriverLatLng,
    map: map,
    icon: imageDriver,

しかし、変数内に緯度と経度を格納するために、このメソッドを使用したいと思います。

var location = "62.446026, 17.331340";
var imageDriver = 'marker.png';
var DriverLatLng = new google.maps.LatLng(location);
var driverMarker = new google.maps.Marker({
    position: DriverLatLng,
    map: map,
    icon: imageDriver,

2 番目のスニペットのようにすると、ピンが消えます。これは何が原因ですか?

ありがとう

4

3 に答える 3

3

このgoogle.maps.LatLng()関数は文字列パラメーターを取りません。次のパラメータを取ります。

lat    : number
lng    : number 
noWrap : boolean // Optional

これはここに文書化されています: https://developers.google.com/maps/documentation/javascript/reference#LatLng

この方法で緯度と経度を保存できます。

var location = { 
    lat: 62.446026, 
    lng: 17.331340 
};

var imageDriver = 'marker.png';
var DriverLatLng = new google.maps.LatLng(location.lat, location.lng);
var driverMarker = new google.maps.Marker({
    position: DriverLatLng,
    map: map,
    icon: imageDriver,
于 2013-04-06T17:01:51.240 に答える
2

google.maps.LatLng()2 つの数値が必要です。文字列で初期化しようとしています。

文字列を配列に分割し、配列内の両方の文字列を long 値と lat 値の float として解析できます。

location = location.split(',');
var DriverLatLng = new google.maps.LatLng(parseFloat(location[0]),parseFloat(location[1]));
....
于 2013-04-06T17:00:56.863 に答える