我正在尝试实施谷歌地图功能,需要弄清楚我的代码中应该放置以下脚本的位置:
google.maps.event.addDomListener(window, 'load', initialize);
function initialize() {
var myLatLng = new google.maps.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>);
var myOptions = {
zoom: 15,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map-canvas-1"),myOptions);
var myOptions2 = {
zoom: 15,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.HYBRID
}
map2 = new google.maps.Map(document.getElementById("map-canvas-2"),myOptions2);
var myOptions3 = {
zoom: 15,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.SATELLITE
}
map3 = new google.maps.Map(document.getElementById("map-canvas-3"),myOptions3);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title:"Map1" });
var marker = new google.maps.Marker({
position: myLatLng,
map: map2,
title:"Map2" });
var marker = new google.maps.Marker({
position: myLatLng,
map: map3,
title:"Map3" });
map3.getStreetView().setPosition(myLatLng);
map3.getStreetView().setVisible(true);
}
目前,此代码位于$(document {.ready(function())中,它似乎工作正常,但它会导致以下jQuery / ajax函数停止工作:
jQuery.ajax({
url: sURL + 'billingEventDetail/ajaxGetTaxClasses/',
dataType: 'json',
success: function(data) {
taxClassData = data;
jQuery.each(taxClassData.description , function(key, value){
jQuery('#sel_tax_class').append(new Option(value, key));
});
}
});
jQuery.ajax({
url: sURL + 'billingEventDetail/ajaxGetBillingEventDetails/',
dataType: 'json',
success: function(data) {
taxQualifierData = data;
jQuery.each(taxQualifierData.description , function(key, value){
jQuery('#sel_tax_qualifier').append(new Option(value, key));
});
}
});
当我暂时禁用谷歌地图代码时,JQuery / Ajax会再次开始工作。为什么我在让这两段代码一起工作时遇到问题?也许谷歌地图代码并不在$(文件{.ready(function()??
)内有没有人对我有任何想法?
答案 0 :(得分:2)
你不应该把你的谷歌地图填入int document.ready。你已经在window.load上注册了一个事件监听器,它调用了initialize(),所以这应该足够了。将它全部移出document.ready。我不能保证这会导致你的ajax出现问题。