0

有人可以帮我处理这段代码吗?

在我的 Rails 项目中(我认为它是什么项目并不重要)我有一个固定位置的标题,称为“fixed_header”。此页面上有链接,单击时会在下面加载新页面。

单击时加载的页面之一有一个名为“map_canvas”的div。我希望我的“fixed_header”页面中的代码检查是否存在名为“map_canvas”的 div,然后,如果存在,则将地图加载到其中。

我下面的代码取自整个应用程序的片段,这些片段有效,但我不能让它适用于这个特定的东西。任何帮助,将不胜感激。

<script>

  //Is 'ready' the code to use? This code is in 'fixed_header'
  //My idea is that, once 
  //a link in 'fixed_header' is clicked, a new page loads
  //underneath the header. The div 'map_canvas' is
  //searched for and the function activates if it is found.

    $(document).on("ready", function () {

        if ($("#map_canvas").length > 0) {

            initialize_google_maps();

        }

    });

    function initialize_google_maps() {

        var currentlatlng = new google.maps.LatLng(user_latitude, user_longitude);
        var zoom = 10;
        var myOptions = {
            zoom: zoom,
            center: currentlatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP, // ROADMAP, SATELLITE, HYBRID
            streetViewControl: false
        };
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

        var marker = new google.maps.Marker({
            map: map,
            position: currentlatlng,
            icon: {
                oppacity: 0
            }
        });

        var circle = new google.maps.Circle({
            map: map,
            fillOpacity: 0,
            strokeWeight: 2,
            strokeOpacity: 0.7,
            radius: 10000,
        });
        circle.bindTo('center', marker, 'position');
    }
</script>
4

1 回答 1

0

因为您想在用户单击链接时实时检查 div 是否存在,所以您应该更改代码

$(document).on("ready", function () {

        if ($("#map_canvas").length > 0) {

            initialize_google_maps();

        }

    });

如下

$('a').live('click',function() {
        if ($("#map_canvas").length > 0) {

            initialize_google_maps();

        }
}

根据您的链接类或 ID 使用锚选择器。

于 2013-05-19T13:35:17.960 回答