当前位置: 首页 > 面试题库 >

使用jQuery动态添加Google Map V3标记

谢胤
2023-03-14
问题内容

我正在使用jquery和Google Maps V3 API向Google
Maps动态添加标记。当按钮search_button被点击时,一个请求被使用AJAX,它返回经纬度的对应于该结果,这将被用于放置标记物的JSON数组发送到服务器。但是在我的Javascript
Conole中,出现错误:Invalid value for property <map>: map。我哪里做错了?这是我的代码:

HTML标头JS:

<script type="text/javascript">
  function initialize() {
  var latlng = new google.maps.LatLng(42.354183,-71.065063);
  var options = {
    zoom: 15,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), options);
}
</script>

jQuery的

$(function() {

$("#search_button").click(function(e){
    e.preventDefault();


        // Place markers on map
        for( i = 0; i < json.length; i++) {
            var latLng = new google.maps.LatLng(json[i].lat, json[i].lng);
            var marker = new google.maps.Marker({
                position: latLng,
                map: map
            });
        }

    });
});
});

问题答案:

您应该将全局变量称为map。就是这样,实际上我的建议是将所有内容都移到这样的javascript文件中

    $(document).ready(initialize);
    var map;

function initialize() {
    var latlng = new google.maps.LatLng(42.354183,-71.065063);
    var options = {
        zoom: 15,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    map = new google.maps.Map($('#map-canvas')[0], options);

    $("#search_button").click(function(e){
    e.preventDefault();


        // Place markers on map
        for( i = 0; i < json.length; i++) {
            var latLng = new google.maps.LatLng(json[i].lat, json[i].lng);
            var marker = new google.maps.Marker({
                position: latLng,
                map: map
            });
        }

    });
}


 类似资料:
  • 问题内容: 我想知道如何动态增强jQuery Mobile页面? 我尝试使用以下方法: 和 另外,如何仅阻止复选框的增强标记? 问题答案: 介绍: 有几种增强动态创建的内容标记的方法。将新内容动态添加到jQuery Mobile页面还不够,必须使用经典的jQuery Mobile样式来增强新内容。因为这是处理繁重的任务,所以需要有一些优先级,如果可能的话,jQuery Mobile需要做的工作尽可

  • 我想知道如何动态增强jQuery移动页面? 我尝试使用以下方法: > <代码>$(“[数据角色=“页面”]”)。触发器(“创建”) 和 <代码>$(“[数据角色=“页面”]”)。第页() 另外,如何防止仅对复选框进行增强标记?

  • pre { white-space: pre-wrap; } 通过使用 jQuery EasyUI 可以很容易地添加 Tabs。您只需要调用 'add' 方法即可。 在本教程中,我们将使用 iframe 动态地添加显示在一个页面上的 Tabs。 当点击添加按钮,一个新的 tab 将被添加。如果 tab 已经存在,它将被激活。 步骤 1:创建 Tabs     <div>         <a h

  • 本文向大家介绍jQuery EasyUI 布局之动态添加tabs标签页,包括了jQuery EasyUI 布局之动态添加tabs标签页的使用技巧和注意事项,需要的朋友参考一下 在没看下文之前先给大家简单介绍easyui相关知识。 easyui是一种基于jQuery的用户界面插件集合。ddd easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能。 使用easyui你不需要写很

  • 我有一个jQuery Select2控件,它使用AJAX填充: AJAX链接到一个包含可能选项的数据库,如您所见,需要两个字符的输入。 问题是,如果数据库中不存在新选项,用户可以使用对话框添加该选项。从该对话框返回时,我尝试: 但不管用。同样的代码也适用于非Ajax Select2框。我尝试过各种替代方法,比如使用,但都不起作用。 我甚至尝试过完全删除Select2控件。但是,仅删除原始的字段,但

  • 问题内容: 我想将通过JSOn格式的URL接收的数据动态附加到我的列表视图中。但是我不知道它是如何工作的。 移动网站以以下格式检索对象: 在.html中,我有一个listview和一个函数,在其中尝试附加接收到的数据。我只展示身体。 也许这很容易,但是我是Web编程的新手,我不知道该如何附加检索到的数据。 有人可以帮我吗? 问题答案: 这是上述解决方案的jsfiddle(还有一个使用 代替的示例