【问题标题】:Gmap v3 and js not playing niceGmap v3 和 js 玩得不好
【发布时间】:2010-10-21 06:59:52
【问题描述】:

首先是我的代码:

    var geocoder;
    var map;

    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var myOptions = {
        zoom: 18,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.HYBRID
    }
    map = new google.maps.Map(document.getElementById("details"), myOptions);

    var q = $("span#address").text() + ' ' + $("span#city").text() + ' ' +$("span#state").text() + ' ' +$("span#zip").text();
    var t = document.getElementById('address').value;
    console.log(t);
    //var city = document.getElementById("home-city").value;
    //console.log(city);
    geocoder.geocode( { 'address': t}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            map.setCenter(results[0].geometry.location);
            var marker = new google.maps.Marker({
                map: map,
                //draggable: true,
                position: results[0].geometry.location
            });
        } else {
            console.log("Geocode was not successful for the following reason: " + status);
        }
    });

好的,所以我的问题是我可以将这样的变量加载到 geocoder.geocode() 中

var address = "string address";

我想从我拥有的特定页面中获取地址并将地址存储在 var 中,然后将该 var 传递给 Gmaps,在完美的世界中这应该可以工作!但似乎没有这样的世界;-(

所以我做了一些测试。够有趣的...

var q = $("span#address").text() + ' ' + $("span#city").text() + ' ' +$("span#state").text() + ' ' +$("span#zip").text();

当我执行 console.log(address) 时,我得到了输出的地址。但我无法将变量地址插入地理编码,因为它无法识别。其次,我尝试了良好的旧常规 javascript 方法并尝试获取具有唯一地址 id 的元素的 val。 Firebug 和地理编码错误告诉我该值为 NULL...

所以我很困惑,jQuery 可以抓取数据,但不能传递到地理编码中。然后常规的 javascript 告诉我我疯了,我试图通过 id 引用的字段中没有数据......

有人得到了这样的场景吗?

嗯,也许我应该提一下,我已经在 jquery 实时点击功能上执行了所有这些代码。当用户点击地图图标时,所有这些代码都应该执行......

【问题讨论】:

    标签: javascript jquery google-maps-api-3


    【解决方案1】:
    • 使用逗号而不是空格来分隔值。
    • 确保您只有一个带有“地址”id 的 HTML 元素。
    • 使用getElementById()检索时,使用.value获取元素的值(不是.val

    【讨论】:

    • 是的,我使用了 .value 并且还给了它一个随机数 id,以确保我没有错,并且已经有一个具有相同 id 的元素。但我仍然为空。并做了逗号的事情
    【解决方案2】:

    所以问题是我先声明了谷歌地图,然后再尝试引用地址信息。在创建新的 google map api 引用之前,我将 var 地址移到了顶部。

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 2019-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-25
      • 2011-10-14
      • 2015-07-06
      • 2022-08-21
      相关资源
      最近更新 更多