缺少]谷歌地图事件对象的元素列表后 [英] missing ] after element list for google maps event object

查看:92
本文介绍了缺少]谷歌地图事件对象的元素列表后的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在onclick事件上调用moreInfo()函数,并为它提供关于click事件的信息。



这里是代码示例:

  google.maps.event.addListener(SomeArea,'click',showTB); 

function showTB(event){

// content has the map click event
var contentString = event.latLng +
'< br> '+'< button onclick =moreInfo('+ event +')>更多< / button>';


infoWindow.setContent(contentString);

$ / code>

这里是相关函数moreInfo

  function moreInfo(e){

var overlayContent = e.latLng
document.getElementById(content)。innerHTML = overlayContent;

firebug输出:

<
$ b

moreInfo([object Object])

我该如何解决这个问题?

解决方案

c> infoWindow 也可能是 DOMNode



创建一个 DOMNode 并将按钮插入此节点,那么您可以将按钮应用于按钮(并传递任何类型的参数):

 函数showTB(event){

var contentElement = document.createElement('div'),
btn = document。的createElement( '按钮');
contentElement.appendChild(document.createTextNode(event.latLng));
contentElement.appendChild(document.createElement('br'));
contentElement.appendChild(btn);
btn.appendChild(document.createTextNode('More'));
google.maps.event.addDomListener(btn,'click',function(){moreInfo(event);})
infoWindow.setContent(contentElement);


演示: http://jsfiddle.net/doktormolle/N5Etg/


I'm trying to call moreInfo() function on the onclick event and to give it information about the click event.

here are code samples:

google.maps.event.addListener(SomeArea, 'click', showTB);

function showTB(event) {

    //content has the map click event
    var contentString = event.latLng +
        '<br>' + '<button onclick="moreInfo('+event+')">More</button>';


    infoWindow.setContent(contentString);
}

here is relevant function moreInfo

function moreInfo(e){

    var overlayContent = e.latLng
    document.getElementById("content").innerHTML = overlayContent;
}

firebug output:

SyntaxError: missing ] after element list

moreInfo([object Object])

How can I fix this?

解决方案

the content for an infoWindow may also be a DOMNode.

Create a DOMNode and insert the button into this node, then you'll be able to apply a click-listener to the button(and pass any type of argument):

function showTB(event) {

  var contentElement = document.createElement('div'),
      btn            = document.createElement('button');
  contentElement.appendChild(document.createTextNode(event.latLng));
  contentElement.appendChild(document.createElement('br'));
  contentElement.appendChild(btn);
  btn.appendChild(document.createTextNode('More'));
  google.maps.event.addDomListener(btn,'click',function(){ moreInfo(event);})
  infoWindow.setContent(contentElement);

}

Demo: http://jsfiddle.net/doktormolle/N5Etg/

这篇关于缺少]谷歌地图事件对象的元素列表后的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆