相关疑难解决方法(0)

在Google Maps API InfoWindow中向元素添加事件

我想在Google Maps API(v3)InfoWindow中添加一个带有输入字段和提交按钮的表单.

提交时,我想调用一个函数,使用输入到输入字段中的地址启动指向服务.

这是我的代码(我目前只测试方向事件是否被触发.我已经编写完整的getDirections()事件并且可以确认它有效并在正确触发时返回指示):

我尝试使用MooTools添加一个事件监听器,如下所示:

var infoWindowContent   = "<b>Get Directions From...</b><br />"
                        + "<form id='map-form'>"
                        + "Address/Postcode: <input id='map-from-address' type='text' />"
                        + "<input type='submit' id='map-go' value='Go' />"
                        + "</form>";

var infoWindow = new google.maps.InfoWindow({
    content: infoWindowContent
});

google.maps.event.addListener(marker, 'click', function() {
    infoWindow.open(map, marker);
    dbug.log($("map-form"));
    $("map-form").addEvent("submit", getDirections);
});

function getDirections(event)
{
    dbug.log("getDirections");
    event.stop();
}
Run Code Online (Sandbox Code Playgroud)

当我在我的网站的其他地方使用MooTools时,我将所有代码放入其中 window.addEvent('load', function(){...});

请注意dbug.log($("map-form"));正确输出表单元素的控制台跟踪,但事件未触发.

我在DOM中将相同的事件添加到另一个表单(具有不同的ID)并且它工作正常.

那么,如果MooTools可以找到该元素并据说添加事件监听器,那么阻止事件触发的是什么?这是范围问题吗?

javascript mootools infowindow google-maps-api-3 mootools-events

22
推荐指数
1
解决办法
2万
查看次数

单击Google Map API V3,使用infoWindow或InfoBox触发事件

我想知道当我使用Google Maps API v3点击infoWindow时如何触发事件.在此示例中,当我单击标记时,将根据我单击的标记显示一个信息窗口,其中包含唯一的消息.我也希望能够点击信息窗口并显示一条警告

"你点击了infowindow(__ 填空位置 _)

我找到了一些使用Google Maps API v2和jQuery的示例,但没有使用简单的旧版Google Maps API v3.

<!doctype html>
<html lang="en">
<head>
    <title>jQuery mobile with Google maps - Google maps jQuery plugin</title>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3&sensor=false&language=en"> </script>
    <script type="text/javascript">

    var cityList = [
    ['Chicago', 41.850033, -87.6500523, 1],
    ['Illinois', 40.797177,-89.406738, 2]
    ];

    var demoCenter = new google.maps.LatLng(41,-87);

    var map;
    function initialize()
    {
        map = new google.maps.Map(document.getElementById('map_canvas'), {
            zoom: 7,
            center: demoCenter,
            mapTypeId: google.maps.MapTypeId.ROADMAP …
Run Code Online (Sandbox Code Playgroud)

infowindow google-maps-api-3 infobox

13
推荐指数
2
解决办法
5万
查看次数