JQuery和Google Maps JS api没有合​​作

时间:2012-09-03 18:57:38

标签: jquery google-maps-api-3 spring-roo google-fusion-tables

我真的很难在同一个块中同时使用Google Maps API和JQuery API。我的页面是jspx(Spring),我需要JQuery以便我可以获取并解析google fusion table数据。

但是,当我将两个库声明在一起时,地图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&amp;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块中检索deprivation stat,但是尽管我付出了努力,但是在页面加载时没有调用该函数。

2 个答案:

答案 0 :(得分:2)

您缺少第一个脚本的结束标记:

  

<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&amp;sensor=false" type="text/javascript">
                    <jsp:text/>
                </script>

应该是:

<script src="http://code.jquery.com/jquery-latest.pack.js" type="text/javascript" ></script>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript"></script>

(任何一个订单应该可以工作,并且应该在没有版本规范和&amp; key = MYKEY的情况下工作,只是注意到你也错过了&amp; before key = MYKEY)

答案 1 :(得分:0)

感谢指导人员,但我设法通过创建一个头并在头文件中声明jQuery来排序冲突和问题,并将google src留在原处。

 <head>
 <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.js"></script>
 <script type="text/javascript">

 </script>
 </head>

再次感谢!