【问题标题】:Highlight an existing business on Google Maps API在 Google Maps API 上突出显示现有业务
【发布时间】:2021-09-17 23:59:15
【问题描述】:

我有一个商店地址列表,我正在尝试从中创建一个地图。 使用 Places API,我可以检索大部分信息并手动创建标记并将其放置在地图上:

const service = new google.maps.places.PlacesService(map);
service.findPlaceFromQuery({
  query: '212 Enterprise Dr, Rockaway, Frank Pizza',
  fields: ['all']
}, onPlaceFound);

但是我想选择原始标记而不是重叠新标记。

那是因为我希望用户能够打开带有商店电话号码、路线和资料的默认信息窗口。

我知道我可以重新创建它,但感觉有点蹩脚,因为所有信息都已经存在了。

This SO post问同样的问题,但没有找到解决方案。

【问题讨论】:

    标签: javascript google-maps-api-3


    【解决方案1】:

    根据找到的文档here(显示findPlaceFromQuery()),findPlaceFromQuery 的第二个参数应该是一个函数,其中该函数的第一个参数是placeResults 的数组。

    因此,在查看链接 herehere 后,您的 onPlaceFound 函数应该类似于:

    function onPlaceFound(placeResultsArray){
      const firstResult = placeResultsArray[0], firstIconURL = firstResult.icon;
      const latLng = firstResult.geometry.location, lat = latLng.lat(), lng = latLng.lng();
      // do stuff with those variables here
    }
      
    

    当然,这不会选择 Google 的结果为 Marker,但现在您有实际的 iconlatitudelongitude

    【讨论】:

    • 我知道,这就是我现在能做的。但我想要做的是过滤掉这些地方,只留下/选择我得到的坐标,而不是放置一个新的标记
    • 好吧,你有它。没有人能回答你的问题。谷歌很烂。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    相关资源
    最近更新 更多