0

マップはマーカー オブジェクトなしで正しく読み込まれますが、この構造にマーカー オブジェクトを追加すると読み込まれません。

<!doctype html>
<html>
    <head>
    <script type="text/javascript"
    src="http://maps.google.com/maps/api/js?sensor=false"></script>

    <script src="jquery-1.7.2.min.js" type="text/javascript"></script>
    <script src="script.js" type="text/javascript"></script>
    <script type="text/javascript"> 

        $.geolocation.find(function(location) {
            var lat = location.latitude;
            var lng = location.longitude;

            var map = new google.maps.Map($('#mapDiv').get(0), {
                center: new google.maps.LatLng(lat, lng),
                zoom: 13,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            });

            var pinColor = "FE7569";
            var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2" + pinColor,
            new google.maps.Size(21, 34),
            new google.maps.Point(0,0),
            new google.maps.Point(10, 34));
            var pinShadow = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_shadow",
            new google.maps.Size(40, 37),
            new google.maps.Point(0, 0),
            new google.maps.Point(12, 35))

            var marker= new google.maps.Marker({
                position: new google.maps.LatLng(lat, lng),
                map: map,
                icon: pinImage,
                shadow: pinShadow 
            });        
        });
    </script>
</head>
 <body>
    <div id="mapDiv" style="width:700px; height: 500px;"></div>
 </body>
</html>

ページscript.jsに含まれるスクリプト

      (function($){

            $.extend($.support,{
                geolocation:function(){
                    return $.geolocation.support();
                }
            });

            $.geolocation = {        
                find:function(success, error, options){
                    if($.geolocation.support()){
                        options = $.extend({highAccuracy: true, track: false}, options);
                        ($.geolocation.object())[(options.track ? 'watchPosition' : 'getCurrentPosition')](function(location){
                            success(location.coords);
                        }, function(){
                            error();
                        }, {enableHighAccuracy: options.highAccuracy});     
                    }else{
                        error();                
                    }
                },
                object:function(){
                    return navigator.geolocation;
                },
                support:function(){
                    return ($.geolocation.object()) ? true : false;
                }
            };

        })(jQuery);

Googleマップにマーカーを含める必要があります。このコードはFirefoxとIEでのみ実行されますが、Google Chromeでは実行されません。

4

1 に答える 1

2

これを見てください。これは解決されたと思います。エラーはurlパラメータにあり、Chromeでも機能しています。必要に応じて交換することで、マーカーの色を変更することもできFE7569ます。

例: 73B5EB ここに画像の説明を入力してください または 33DE61 ここに画像の説明を入力してください

あなたができるもう一つのことは、次のようにマーカーにテキストを入れることです:

http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=You%20are%20here | FE7569

例えば: ここに画像の説明を入力してください


コードのライブデモですが、修正されています:

http://jsfiddle.net/oscarj24/sPsxh/

お役に立てれば :-)

于 2012-08-08T15:26:03.190 に答える