Uncaught TypeError: Cannot read property 'add' of undefined :: javascript :: bing maps -


so having problems displayinfobox function. looking bing maps v8 api trying link events infobox. following bing , storing event handlers in infobox object. im getting read property 'add' error.

in in stacktrace, taking me either line adding event handler, or when im checking if infobox has events attached it.

i trying follow script here https://blueric.wordpress.com/2011/03/10/creating-hover-style-info-boxes-on-the-bing-maps-ajax-v7-0-control/. given quite old, assume things might work in similar ways.

edited:

it seems has addhandler im confused on.

 function displayinfobox(e) {      stopinfoboxtimer(e);      console.log("after infobox timer");      if (_displayinfotype != "infobox")         return;      var replacecontent = infoboxtemplate;     var ticket = e.target.ticket;     var contenthead = "<ul>";     var contentend = "</ul>";     var content = "";     content += "<li><b>:</b> " + ticket.{removed var} + "</li>";     content += "<li><b>:</b> " + ticket.{removed var} + "</li>";     content += "<li><b>:</b> " + ticket.{removed var} + "</li>";     content += "<li><b>:</b> " + ticket.{removed var} + "</li>";     content += "<li><b>:</b> " + ticket.{removed var}+ "</li>";     content += "<li><b>:</b> " + ticket.{removed var}+ "</li>";     content += "<li><b>:</b> " + ticket.{removed var}+ "</li>";      if (ticket.ww_pk != "")         content += "<li><b>:</b> " + ticket.{removed var}+ ", " + ticket.{removed var}+ "</li>";     else         content += "<li><b>: <span  style='color:red;'>{removed var}</span></b></li>";       replacecontent = replacecontent.replace('{title}', ticket.{removed var});     replacecontent = replacecontent.replace('{content}', contenthead + content + contentend);      console.log("after replaced content");     var options = {         offset: new microsoft.maps.point(23, 173),         location: e.target.getlocation(),         htmlcontent: replacecontent,         visible: true     };      console.log(options);      console.log("before removing events infobox");     if (infobox != null && infobox.mouseleavehandler != null && infobox.mouseenterhandler != null) {          if (microsoft.maps.events.hashandler(infobox, 'mouseleave'))             microsoft.maps.events.removehandler(infobox.mouseleavehandler);          if (microsoft.maps.events.hashandler(infobox, 'mouseenter'))             microsoft.maps.events.removehandler(infobox.mouseenterhandler);          infobox = null;     }     console.log("after removing events infobox");     console.log(infobox);     infobox = new microsoft.maps.infobox(location, options); //-------------------------- error in here ---------------------------------      infobox.mouseleavehandler = microsoft.maps.events.addhandler(infobox, 'mouseleave', infoboxmouseleave);     infobox.mouseenterhandler = microsoft.maps.events.addhandler(infobox, 'mouseenter', infoboxmouseenter); //-------------------------- error in here ---------------------------------     console.log(infobox.mouseenterhandler);     infobox.setmap(map);  } 

edited (latest): seems there bug bing v8 or change in way code processed. have copied of code fiddle project , works fine in v7. going manually.

i post working code once, completed.

the issue infobox class doesn't have mouseleave or mouseenter events. such, when try adding event handers this, "add" part of step fails because these events don't exist.


Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -