任何人都知道为什么这会起作用:
var wickedLocation = new google.maps.LatLng(44.767778, -93.2775);
但这不会:
var wickedCoords = "44.767778, -93.2775";
var wickedLocation = new google.maps.LatLng(wickedCoords);
我尝试将纬度和经度作为单独的变量传递,但这也没有奏效。如何成功地将坐标作为变量传递?谢谢!
任何人都知道为什么这会起作用:
var wickedLocation = new google.maps.LatLng(44.767778, -93.2775);
但这不会:
var wickedCoords = "44.767778, -93.2775";
var wickedLocation = new google.maps.LatLng(wickedCoords);
我尝试将纬度和经度作为单独的变量传递,但这也没有奏效。如何成功地将坐标作为变量传递?谢谢!
在此示例中,您将两个不同的数值传递给构造函数,然后将新创建的对象分配给 wickedLocation:
var wickedLocation = new google.maps.LatLng(44.767778, -93.2775);
在此示例中,您将单个字符串值传递给需要两个不同数字坐标的构造函数:
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 );
如果您以字符串形式获取坐标,按照您在示例中显示的格式,您可以这样做:
var b=wickedCoords.split(",");
var wickedLocation=new google.maps.LatLng(parseFloat(b[0]), parseFloat(b[1]));
我相信您可以使用字符串来定义坐标,但您需要两个(每个参数一个)而不是一个。
wickedLat = '44.767778';
wickedLon = '-93.2775';
wickedLocation = new google.maps.LatLng(wickedLat, wickedLon);
如果不直接使用浮点数或将字符串解析为浮点数parseFloat()