0

このコードを APIv2 から v3 に変換しようとしていますが、うまくいきません。誰かがエラーを見つけるのを手伝ってくれますか?

マップが起動せず、その理由がわかりません。私はこれと同じコードを使用してきましたが、過去に v2 API のコードを使用しても問題はありませんでしたが、今のところ問題はわかりません。

私のコードは次のとおりです。

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?
v=3.exp&sensor=false"></script>
<script type="text/javascript">
var map;
{if $listing.location_is_set}
var zoom = 15;
{else}
var zoom = 7;
{/if}
{literal}
        var latitude = {/literal}{$geoData.latitude}{literal};
        var longitude = {/literal}{$geoData.longitude}{literal};

$(document).ready(function(){

        map = new google.maps.Map(document.getElementById("map-canvas"));
        map.setCenter(new google.maps.LatLng(latitude, longitude), zoom);
        map.addControl(new google.maps.SmallMapControl());
        map.addControl(new google.maps.MapTypeControl());
        map.addControl(new google.maps.ScaleControl());
        map.addControl(new google.maps.OverviewMapControl());
        var point = new google.maps.LatLng(latitude, longitude);
        var marker = new google.maps.Marker(point, {draggable: true});
        google.maps.event.addListener(marker, "dragstart", function() {
                    map.closeInfoWindow();
                  });
        google.maps.event.addListener(marker, "dragend", function() {
            $("#m_lat").val(marker.getLatLng().lat());
            $("#m_lon").val(marker.getLatLng().lng());
          });
        google.maps.event.addListener(map, 'click', function(overlay,  
 latlng) {
            marker.setLatLng(latlng);
            $("#m_lat").val(marker.getLatLng().lat());
            $("#m_lon").val(marker.getLatLng().lng());
        });


        map.addOverlay(marker);
    }
);

</script>
{/literal}
4

1 に答える 1

1

これはテンプレート内のコードです (スマートな機能を備えていますか?)。

最初のステップとして、生成された JavaScript を見てください (ブラウザからソースを表示)。

テンプレート関連の問題であれば、JS に焦点を当てることを避けます。

于 2013-11-05T14:04:13.083 に答える