我真的陷入了困境,试图在同一块中同时使用Google Maps API和JQuery API。我的页面是jspx(Spring),我需要JQuery以便我可以获取和分析谷歌融合表数据。JQuery和谷歌地图JS api不能一起工作
但是,当我将两个库声明为一起时,地图div将不会加载(如果我单独加载Google地图,则所有映射都可以正常工作)。
下面是相关代码:
<script src="http://code.jquery.com/jquery-latest.pack.js" type="text/javascript"/>
<script src="http://maps.googleapis.com/maps/api/js?v=3key=MYKEY&sensor=false" type="text/javascript">
<jsp:text/>
</script>
<script type="text/javascript">
//<![CDATA[
var map;
function initialize() {
var mapDiv = document.getElementById('map_canvas');
var geocoder = new google.maps.Geocoder();
retrieveDeprivationFigure();
if (geocoder) {
geocoder.geocode({ 'address': '${property.postcode}' }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latlng = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng())
var mapOptions = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'),
mapOptions);
}
function retrieveDeprivationFigure(){
var postcode = '${property.postcode}'.split(' ').join('');
var url = "https://www.googleapis.com/fusiontables/v1/query?sql=SELECT LSOA FROM XXXXXXXX WHERE Postcode='"+ postcode +"'&key=AIzaSyBQaHw1aSWtIjQzAiriBPC3hvm7Bs1R35U&jsonCallback=?";
var localIMDS;
console.log("this far");
$.getJSON(url,
function retrieveIMDS(){
console.log(url);
});
};
google.maps.event.addDomListener(window, 'load', initialize);
// ]]>
</script>
任何指针或想法会对我帮助很大,我甚至试图通过JQuery在一个单独的JS块检索剥夺统计,然而,尽管我的努力,功能不呼吁页面加载。
检查您的控制台是否有错误,并尝试将其置于[fiddle](http://jsfiddle.net)中... – adeneo
@adeneo我检查了控制台中的错误,它显示“Uncaught ReferenceError:谷歌未定义“,并指向”谷歌.maps.event.addDomListener(窗口,'加载',初始化)..我也通过小提琴运行我的代码,它说我的JavaScript是全部有效.. –
工作jsfiddle让我们看看为什么你会得到这个错误。什么是' '在api包含标签? –
geocodezip