-1

我尝试在谷歌地图(v3)乘法标记上打印。我对一般记录使用集群和蓝色标记。商店位置的红色标记。我的代码如下:

function initialize(){

          //some code here
      //....
          //....

    var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

    var markers = [];

    for (var i = 0; i < <?= $total_records ?>; i++) {
       var latLng = new google.maps.LatLng(geo_data.records[i].lat, geo_data.records[i].lng);
       var marker = new google.maps.Marker({
                                           position: latLng,
                                           draggable: true,
                                           icon: markerImage
                                         });
       markers.push(marker);
    }

    var imageUrl2 = 'http://chart.apis.google.com/chart?cht=mm&chs=24x32&chco=AAAAA,008CFF,000000&ext=.png';
    var markerImage2 = new google.maps.MarkerImage(imageUrl2,new google.maps.Size(24, 32));     
    for (var i = 0; i < <?= $store_records ?>; i++) {
       var latLng = new google.maps.LatLng(store_data.storeRecords[i].lat, store_data.storeRecords[i].lng);
       var marker = new google.maps.Marker({
                                           position: latLng,
                                           draggable: true,
                                           icon: markerImage2
                                         });
       markers.push(marker);
    }


    var zoom = 14;
    var size = 60;

    var markerClusterer = new MarkerClusterer(map, markers, {
                                              maxZoom: zoom,
                                              gridSize: size
                                             });

}

但是现在我有两个有线错误:

  1. 未捕获的 SyntaxError:意外的标识符 jquery-1.5.1.min.js:16

  2. 未捕获的 ReferenceError:未定义初始化

我认为问题在于我不能两次使用 Marker 类的函数,但我不确定。谁能告诉我如何解决这个问题?

4

3 回答 3

0

出色地。jQuery 现在是 v1.9.0,所以我可能会从使用更新版本的 jQuery 开始。您可以根据需要在性能允许的情况下初始化任意数量的标记。

我注意到您使用的是 document.getElementId 而不是 jQuery 选择器。您的页面中是否需要 jQuery?您是否已注释掉行以找出导致每个错误的行?

于 2013-01-29T15:35:00.213 回答
0

对于#1,由于您的代码中没有初始化对象或方法,我不得不假设错误来自您应用程序的另一部分。这个方法是从哪里调用的?您可以在调试工具中“中断所有错误”来查看。您是否可能复制并粘贴了一些具有 onload 事件初始化程序的代码?寻找这样的东西:

<body onload="initialize()">

至于 #2,在 jQuery 验证库中似乎存在类似的错误

于 2013-01-29T15:36:02.707 回答
0

Prueba esto(试试这个)

HTML 文件

ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js
maps.google.com/maps/api/js?sensor=false&language=es
google-maps-utility-library-v3.googlecode.com/svn/tags/markermanager/1.0/src/markermanager.js
google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/src/markerclusterer_compiled.js

JS文件

...onload....
.
.
var markers = [];
.
.
/* esto hace el truco */
var marcador = new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
map: map,
title: sede,
enter code here`icon: 'https://chart.googleapis.com/chart?chst=d_bubble_text_small&chld=bb|'+num+'|FFFF00|000000',
});
markers.push(marcador);

var markerclusterer = new MarkerClusterer(map, markers, { zoomOnClick: true });
于 2013-05-06T18:18:01.107 回答