1

Google マップにいくつかのマーカーがあり、一部のマーカーは別のマーカーの影の下にあります。影のマーカーが機能していません。影やその他の解決策を削除するにはどうすればよいですか。

前もって感謝します。

enter code here
 function createMarker(){
                    var s;
                        for (var i = 0, j=0; i < markers_array.length; i++, j++) {
    // obtain the attribues of each marker
                            var lat = parseFloat(markers_array[i][0]);
                            var lng = parseFloat(markers_array[i][1]);
                            //alert(markers_array[i][2]);
                            //alert(markers_array[i][3]);
                            var trailhead_name = markers_array[i][2];
                            var trailhead_name1 = markers_array[i][3];
                            var image = markers_array[i][4];

                            var myLatlng = new google.maps.LatLng(lat, lng);

                            var contentString = trailhead_name;
                            var contentString1= trailhead_name1;
                            var marker=[];
                             marker[i] = new google.maps.Marker({
                                position: myLatlng,
                                map: map,
                                icon: image,
                                clickable: true,
                                title:markers_array[i][5],

                                });
                            google.maps.event.addListener(map, 'click', function(e) {

                            infobox.close();
                            infobox1.close();
                            infobox2.close();

                            });


                            marker[i]['infowindow'] = contentString;
                            marker[i]['infowindow1']= contentString1;
                            global_markers[i] = marker[i];



                            var la;
                            var lt;
                            google.maps.event.addListener(global_markers[i], 'click', function(e) {
                            infobox.close();
                            infobox1.close();
                            infobox2.close(); 
                            la=this.getPosition().lat();
                            lt=this.getPosition().lng();
                                infobox.setPosition(e.latLng);
                                infobox.setContent(this['infowindow']);
                                infobox.boxStyle_ = {
                                        background: "url('images/tipbox.gif') no-repeat  scroll 0 0 #E1E3E4",

                                        width: "270px"
                                    };
                                infobox.open(map);
                                var title=this.title;
                                s=this['infowindow1'];
                                $(document).delegate("#content", "mouseenter touchstart", function() {
                                map.setOptions({
                                draggable: false,
                                scrollwheel: false
                                });




                                });

                            $(document).delegate("#content", "mouseleave touchend", function() {
                                map.setOptions({draggable: true,scrollwheel: true});


                            });
                            });
                            }
4

1 に答える 1

1

アイコンと影のMarkerImageクラスを作成して使用し、マーカーの setIcon メソッドと setShadow メソッドを使用して、イベント中にそれらを拡大バージョンと交換する必要があります。拡大された MarkerImage クラスは、scaledSize プロパティを使用する必要があります。これにより、画像が MarkerImage size プロパティのサイズに引き伸ばされます

これが実際のフィドルの例です: check

var shadow = new google.maps.MarkerImage(
  beachflagShadowUrl,
  // The shadow image is larger in the horizontal dimension
  // while the position and offset are the same as for the main image.
  new google.maps.Size(37, 32),
  new google.maps.Point(0,0),
  new google.maps.Point(0, 32));

またはこれを確認してください

 chst=d_map_pin_icon[_withshadow]
 chld=<icon_string>|<fill_color>

シージス

于 2012-11-09T05:41:20.163 に答える