-2

我有以下代码,

<script type="text/javascript">
var map;

$(document).ready(function() {
    initialize();

    $("#menu").on("click", ".panTo", function() {
        var laLatLng = new google.maps.LatLng(4.6747035,-74.0575514); /My question
        map.panTo(laLatLng);
            var marker = new google.maps.Circle({
            strokeColor: "#8ada55",
            fillColor: "#bcff8f",
            strokeOpacity: 0.8,
            strokeWeight: 2,
            fillOpacity: 0.5,
            map: map,
            center: laLatLng,
            radius:300
            }); 
    });
});

function initialize() {
    var myOptions = {
        zoom: 15,
        center: new google.maps.LatLng(4.5980556,-74.0758333),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);;
}
</script>

<div id="map_canvas" style="width: 650px; height:400px"></div>
<div id="menu">
    <label>Location 1</label>
    <input type="button" class="panTo" value="4.6747035,-74.0575514" />
    <br /><br />
</div>

我的问题是如何在 Javascript 代码中设置来自输入值的值。?

正好在这一行:LatLng(4.6747035,-74.0575514);

因为我会有很多地址,有按钮,所以当有人点击按钮时,LatLng 必须更新。

4

2 回答 2

0

从给出的信息看来,您正在尝试根据传递给匿名函数的内容来设置 latlng 的值。如我错了请纠正我。

这是 Jquery .on 的文档,它展示了如何通过匿名函数传递数据。 http://api.jquery.com/on/

.on(事件 [,选择器] [,数据],处理程序(事件对象))

触发事件时要在 event.data 中传递给处理程序的数据。

因此,您的 lat 和 lng 将通过 event.data 对象传递到您的函数,您可以在您的 latlng 对象中随意使用它们。

希望那是你要问的

于 2013-05-28T22:08:16.923 回答
0

可能需要包含对某些 Google 的引用,但这里有几件事:

  1. 在 JavaScript 中使用“new”时,会引用(某些)对象定义。这个问题不清楚。新的 google.maps.LatLng

  2. 通常,“google.maps”对象似乎具有“LatLng”属性。例如,在 web 控件上使用“onclick”函数,调用 JavaScript 修改此属性为:google.maps.LatLng = (x,y);

但是,这里需要注意的是,我们不知道这个对象是什么以及它是否是一个方法/属性。如果它是某种函数或构造函数,则查看 Google 库“maps”对象定义的文档以了解如何设置“LatLng”属性(可能通过方法调用、在定义的构造函数中等)。

基于此,另一种选择是设置一个全局变量并创建一个新对象:

var myMap = new google.maps.LatLng(x,y); 其中: x 和 y 是 JavaScript 函数的输入。

于 2013-05-28T21:52:33.990 回答