Я пытаюсь передать переменные в google.maps.LatLngBounds, но это не работает. единственная вещь, которая, кажется, работает, - это если я жестко кодирую числа как float (литералы). Если я попробую то, что ниже, это не сработает. Я пробовал каждый способ кастинга, но он просто не отображается. Пример ниже - это последнее, что я пробовал.Передача переменных в LatLngBounds
Я геокодирую центр с адреса и пытаюсь создать наложение, окружающее центр, поэтому наложение изображений всегда будет за центром.
var x1 = (parseFloat(xLat) - 0.0003).toFixed(6);
var y1 = (parseFloat(yLon) + 0.0003).toFixed(6);
var x2 = (parseFloat(xLat) + 0.0003).toFixed(6);
var y2 = (parseFloat(yLon) - 0.0003).toFixed(6);
var coordinates1 = x1 + "," + y1;
var coordinates2 = x1 + "," + y1;
var imageBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(parseFloat(coordinates1.split(",")[0]), parseFloat(coordinates1.split(",")[1])), //sw
new google.maps.LatLng(parseFloat(coordinates2.split(",")[0]), parseFloat(coordinates2.split(",")[1])) //ne
);
Любые идеи, почему это не удается? Я знаю, что есть и другие подобные вопросы, и ни одно из этих решений не работало. Я думаю, что я пробовал их всех, буквально.
поэтому я попытался это сделать, я думал, что разница заключалась в использовании конструктора ('new google.maps.LatLng (x1, y1)'), но то, что вы показали, было первым, что я пробовал. Он работает, если я использую что-то вроде этого: new google.maps.LatLng (40.000000, -70.000000) – roberthuttinger
Вы просто инвертируете значения? SW lat и lng должны быть ниже NE lat и lng, за исключением случаев, когда лимиты включены. – lib3d
Эти расчеты не будут меняться в зависимости от того, являются ли исходные координаты отрицательными или положительными. (Я просто игнорирую случай, когда вы размещаете 180 меридианов, но по крайней мере это правда.) –