У меня есть страница, на которой отображается простая карта Google для указанного местоположения. Эта карта отображается без каких-либо проблем, когда я запускаю ее локально на локальном хосте, однако, когда я развертываю этот код на наших живых веб-серверах (используя наш ключ API Google LIVE для соответствующего домена), она не отображается, и после размещения серии оповещений внутри javascript на странице, похоже, что метод 'Initialize' (который должен вызываться внутри тела onLoad) не вызывается.
Когда я просматриваю исходный HTML-код, отображаемый на работающем сервере, он отображается точно в соответствии с локальной версией сайта (включая вызов initialize () в событии body onLoad), хотя и с другим ключом API карт.
Я вывел хост (alert (window.location.host);), чтобы убедиться, что ключ, сгенерированный на сайте API Google Maps, точно соответствует действующему серверу.
У кого-нибудь есть идеи, почему он будет работать локально, а не при развертывании на живых серверах? Живой сайт размещен на 2 веб-серверах с балансировкой нагрузки.
Это javascript, который отображается:
<script src="http://maps.google.com/maps?file=api&v=2&sensor=false&key=ABQIAAAA-BU8POZj19wRlTaKIXVM9xTz76xxk4yAELG9u79oXrhnLTB5NRRvAZ-bkKn1x8J68nfRTVOIWNPJEA" type="text/javascript"></script>
<script type="text/javascript">
var map;
var geocoder;
alert(window.location.host);
function initialize() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("businessMap"));
map.setUIToDefault();
geocoder = new GClientGeocoder();
showAddress('St Margarets Street SW1P 3 London');
}
}
function showAddress(address) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
// Address could not be located.
jQuery('#googleMap').hide();
} else {
map.setCenter(point, 13);
var marker = new GMarker(point);
map.addOverlay(marker);
var html = 'Address info for the marker';
marker.openInfoWindow(html);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
}
}
);
}
</script>
Любая помощь будет высоко ценится.
Спасибо.