#jquery #jquery-ui #firefox #google-maps
#jquery #jquery-пользовательский интерфейс #firefox #google-карты
Вопрос:
Я пытался использовать карты Google, это работает с Chrome IE, но не с FireFox?
Я что-то упускаю :
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/jscript">
function initialize() {
var latitude = document.getElementById("Latitude").value;
var longitude = document.getElementById("Longitude").value;
var latlng = new google.maps.LatLng(latitude, longitude);
var options = { zoom: 16, center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById
("map_canvas"), options);
var image = '@Url.Content("~/Images/pushpin.png")';
var marker = new google.maps.Marker({
position: latlng,
title: "Position",
icon: image
});
marker.setMap(map);
}
$(function () {
initialize();
});
</script>
<div id="map_canvas" style="width: 800px; height: 400px;margin-top:15px;">
Комментарии:
1. Мне это кажется правильным. Какой у вас
map_canvas
css? Кроме того, генерирует ли он что-либо в FF (частичная карта или выделенное серым пространство карты?)2. Моя map_canvas представляет собой простой div <идентификатор div=»map_canvas» style=»ширина: 800 пикселей; высота: 400 пикселей; верхнее поле: 15 пикселей;»>
3. хм .. Обычно проблема в том, что высота и ширина не были указаны. Что произойдет, если удалить маркеры? работает ли это в FF?
4. Даже когда я удаляю маркер, это та же проблема. div здесь, но карта отсутствует
5. Если у вас есть firebug, попробуйте вызвать
initialize
в этой консоли и посмотрите, загрузится ли он тогда. Некоторое время назад у меня была очень похожая проблема. Я создавал карту с несколькими маркерами, и она выдала ошибку. Что исправило это для меня, так это установка всех границ сразу и всех маркеров после создания карты, но я не думаю, что это ваша проблема.
Ответ №1:
Ваш вызов jquery выглядит подозрительно. Я бы попробовал:
$(document).ready(function() {
initialize();
});
На моем я просто застрял с неприятным старым встроенным onload =»initialize ()». Если вам нужен рабочий пример, вы можете посмотреть, что у меня есть здесь.
Комментарии:
1. Там нет ничего «подозрительного»,
$(function() { })
и$(document).ready(function() { })
абсолютно идентичны. Также возврат к добавлениюonload
атрибутов не является улучшением.2. Загрузка на самом деле не была задумана как предложение, скорее признание. Я не видел этого сокращения для document ready. Аккуратно. Тем не менее, предоставленная ссылка может помочь.