嵌入式Google地图在悬停时显示错误的公司

时间:2015-11-25 10:07:32

标签: google-maps

我在使用谷歌地图时遇到了一个非常烦人的问题。当我为我的公司嵌入谷歌地图时,当我将标签悬停在地图上时,它会在白色弹出窗口中显示另一个不相关的公司。当我点击公司标签(地图上的红色公司名称)时,它会将左上方白框内的地址切换到该公司,但不会移动地图指针。

起初,当我的公司名称略有不同时,另一家公司是印度的公司,其名称相似,也是一个网站设计机构。与此同时,我稍微改变了Google地方信息中显示的公司名称。现在,Google地图已采用此更改,问题仍然存在。只是这次它在英国展示了另一家公司,也是一家网页设计公司,名字并不相似。

为了进一步澄清我的问题,我附上了截图。

  1. 我将鼠标悬停在公司标签上,白色popover显示不相关的公司名称。 (截图1)
  2. 点击“我公司标签”(截图1)
  3. 视图更改为屏幕截图2中的视图。
  4. 请注意,此问题仅在嵌入Google地图并设置为指向我的公司时发生。

    我已经在两周前向Google报告了此问题,但我还没有收到任何回复。

    Screenshot 1 (The state when hovering my company label)

    Screenshot 2 (The state when company label has been clicked)

    我知道stackoverflow不是谷歌的客户服务,但我想知道其他人是否也遇到过这个问题。如果问题只是一个错误,我只需要等待修复,我想知道是否有人有解决办法,因为当你悬停我公司时谷歌地图显示另一家公司是非常尴尬的。特别是因为另一家公司也从事网页设计业务。

1 个答案:

答案 0 :(得分:1)

发生了什么:您的代码要求Google搜索您的公司......出现问题。

如果您只有1个标记,显然您(程序员)会搜索该位置(1次),并将其放入您的代码中。 那你永远不会再见到印度公司了。

以下是地图,标记和infoWindow的简单示例。

这是你想要的吗?你能从这里拿走吗? 任何缺少的功能?

编辑:哦,是的...我使用了点击'在第31行。您可以更改'点击'通过' mouseover&#39 ;;然后在悬停时显示信息窗口。

<script src="https://maps.googleapis.com/maps/api/js?"></script>
<script type="text/javascript">
  // making the map.  Initialization
  function initialize() { 
    // company location: 
    var companyLocation = {lat: 52.0400564, lng: 4.3483506};
    // company logo: 
    var urlCompanyLogo = 'https://lh3.googleusercontent.com/-ON8pWapB8Ro/AAAAAAAAAAI/AAAAAAAAAGo/wiwqSbfDyxg/s60-p-rw-no/photo.jpg';
    // content of the infowindow
    var companyDetails = '  <img class="logo" src="' + urlCompanyLogo + '"> <h3>Kermit industries</h3> Retrieving any golf ball from the pond';

    // the map
    var map = new google.maps.Map(document.getElementById('map'), {
      center: companyLocation,
      mapTypeId: google.maps.MapTypeId.HYBRID,
      zoom: 18
    });
    // the marker
    var marker = new google.maps.Marker({
      position: companyLocation,
      map: map,
      title: 'Kermit industries'
    });
    // the infowindow
    var infowindow = new google.maps.InfoWindow({
      content: companyDetails,
      position: companyLocation,
      map: null  // first set it to null, only show it after a click on the marker
    });
    // when the user clicks on the marker, the infowindow will appear
    marker.addListener('click', function() {
      infowindow.setMap(map);
    });
  }
  // this will lauch the initialization once the page is loaded
  google.maps.event.addDomListener(window, 'load', initialize);
</script>
<style>
  #map {
    height: 500px;
  }
  .gm-style-iw .logo{
    float: right;
  }
</style>
<div id="map"></div>