如何在传单地理编码器的 google 地图中添加标记

How to add Marker in google maps from leaflet geocoder

我正在使用 leaflet-geosearch 来搜索我在 google 地图页面中显示的地址的经度和纬度,我正在使用 angular

在我的组件中

private openAddressInMap() {
    this.provider.search({query: address}).then(result => { // search coordinates for each city
      if (!isNullOrUndefined(result) && result.length > 0 && !isNullOrUndefined(result[0])) {
        const lng = result[0].x;
        const lat = result[0].y;
        window.open('https://maps.google.com/?q=' + lat + ',' + lng, '_blank');
      }
    });
}

然后我通过传递纬度和经度打开google地图link,问题是标记没有正确定位,它指向错误的地址

您真的需要通过地理编码器获取坐标吗?如果您使用 Google Maps URLs,您可以直接将地址作为 URL 的 query 参数发送,避免地理编码请求

代码片段是

private openAddressInMap() {
    window.open('https://www.google.com/maps/search/?api=1&query=' + encodeURIComponent(address), '_blank');
}

例如尝试以下 URL:

https://www.google.com/maps/search/?api=1&query=New+York

希望对您有所帮助!