#php #javascript #google-maps
#php #javascript #google-карты
Вопрос:
Я получил синий экран при загрузке API Карт Google. Не могли бы вы ответить, есть ли какие-либо проблемы с ними?
Результат предупреждающего сообщения: http://img829.imageshack.us/img829/9279/soru1k.jpg
Инициализировать функцию:
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function yukle() {
var locations = $.parseJSON({$json});
alert(locations[0]);
var latlng = new google.maps.LatLng(locations[0][1], locations[0][2]);
var myOptions = {
zoom: 7,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
</script>
HTML:
<div id="map_canvas" style="width:620px; height:470px"></div>
CSS:
<style type="text/css">
#map_canvas {
height: 100%;
}
</style>
Результатом является синий экран на карте:
http://imageshack.us/photo/my-images/546/soru3.jpg /
Комментарии:
1. imageshack.us/photo/my-images/546/soru3.jpg
2. Вы серьезно сделали скриншот своего кода? Пожалуйста, скопируйте / вставьте свой код сюда.
Ответ №1:
Предполагая, что на вашей странице есть элемент map_canvas
, это должно работать нормально. Попробуйте опубликовать HTML и другие части вашего кода.
Кроме того, попробуйте отключить стили css для своей страницы. ваш css также будет стилизовать элементы карты Google на вашей странице, поэтому, если, например, все div
на вашей странице будут сплошного синего цвета, это может повлиять на элементы карты Google.
Редактировать:
На приведенном вами скриншоте довольно ясно, что карта отображается правильно. Что-то не так со строкой:
var latlng = new google.maps.LatLng(locations[0][1], locations[0][2]);
В частности, неверно выполняется латирование или неверны координаты. Вероятно, ваша карта сфокусирована на участке моря немного западнее Нигерии (широта: 0, спг: 0). Попробуйте уменьшить масштаб карты и осмотреться.
Комментарии:
1. я добавил CSS и HTML-код. это довольно просто, я думаю, что есть проблема с местоположением.
2. я сообщаю координаты, и это правда. и попытался уменьшить масштаб, но проблема продолжается.
3. Тогда это немного странно. Могу ли я предложить использовать
console.log
и использовать консоль Chrome или расширение firefox firebug вместо использованияalert
(для получения данных о том, что делает ваш код.) сделайтеconsole.log(latlng)
и изучите элемент, который дал вам Google, чтобы увидеть, кажется ли он правильным. Попробуйте заменитьnew google.maps.LatLng(locations[0][1], locations [0][2])
наnew google.maps.LatLng(51,0)
и посмотрите, остается ли экран синим.
Ответ №2:
Массивы Javascript индексируются нулем. Я думаю
var latlng = new google.maps.LatLng(locations[0][1], locations[0][2]);
Должно быть
var latlng = new google.maps.LatLng(locations[0][0], locations[0][1]);