-1

Googleマップ(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
                                             });

}

しかし今、私は2つの有線エラーを取ります:

  1. キャッチされていない SyntaxError: 予期しない識別子 jquery-1.5.1.min.js:16

  2. Uncaught ReferenceError: 初期化が定義されていません

問題は Marker クラスの関数を 2 回使用できないことだと思いますが、よくわかりません。この問題を解決するにはどうすればよいですか?

4

3 に答える 3

0

上手。jQueryはv1.9.0になっているので、おそらく新しいバージョンのjQueryを使用することから始めます。パフォーマンスが許す限り、好きなだけマーカーを初期化できます。

jQueryセレクターではなくdocument.getElementIdを使用していることに気付きました。ページにjQueryが必要ですか?それぞれのエラーの原因を特定するために、行をコメントアウトしましたか?

于 2013-01-29T15:35:00.213 に答える
0

For #1, as there is no initialize object or method in your code, I'd have to assume that error is coming from another part of your application. Where is this method being called from? You can "break on all errors" in a debugging tool to see. Did you perhaps copy and paste some code that has an onload event initializer? Look for something like this:

<body onload="initialize()">

As for #2, there appears to be a similar bug in the jQuery validation library.

于 2013-01-29T15:36:02.707 に答える
0

Prueba esto (try this)

HTML file

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 file

...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 に答える