Я получаю значения широты и долготы из json файла, который я хочу передать на карты Google, которые будут динамическими.
Значения обратно из json файлов - это строки, которые я преобразовал в целые числа, но я не могу передать его классу latLng для чтения google.
$(document).ready(function(e) {
var myLat = '-32.715883,152.165279';
var myLong = '140.165279';
var myStrToLat = parseFloat(myLat);
var myStrToLong = parseFloat(myLong);
var myCords = parseInt((myStrToLat),(myStrToLong));
var myObjContentString = 'blah blah'
function initialize() {
var myLatlng = new google.maps.LatLng(myCords);
var mapOptions = {
zoom: 14,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var contentString = myObjContentString;
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'blab'
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
}
google.maps.event.addDomListener(window, 'load', initialize);
});
Как уже упоминалось Ela, google.maps.LatLng
Class принимает только два числа, тогда как Широта должна находиться в диапазоне -90, + 90 и Долгота в ярости -180, + 180.
Поэтому убедитесь, что ваши переменные myLat
и myLong
являются только одним числом с плавающей запятой. Тогда нет необходимости в синтаксическом разборе. Вы можете напрямую добавить его в класс LatLng, как это
var myLat = -32.715883;
var myLong = 140.165279;
var myLatlng = new google.maps.LatLng(myLat,myLong);
Вы можете найти дополнительную информацию в описании LatLng
google.maps.LatLng
фактически принимает два значения float, например
new google.maps.LatLng(-34.397, 150.644)
Это означает, что просто передайте myStrToLat и myStrToLong в ctro LatLng...
var myCords = parseInt((myStrToLat),(myStrToLong));
Вы сделали это по ошибке? Второй параметр parseInt - это радиус, он может быть числом от 2 до 36 и используется для вычисления с использованием разных систем счисления. Наверное, это не то, что вы хотели.
var myLat = '-32.715883,152.165279';
Кажется, что строка содержит как lat, так и lng. Это предназначено?