您可以使用城市/州来居中谷歌地图而不是纬度/液化天然气吗?



我正在为一家拥有大约 80 个地点的制造商编写一个网站。我希望能够在模态中出现时将地图集中在某个位置的城市/州上。

我有以下两个问题:

  1. 每个位置的坐标不在当前站点数据中
  2. 尝试使用Google的地理位置服务获取坐标会破坏所有页面

所以我需要能够只使用城市/州,而不是谷歌复杂的Geoloc JSON/XML函数。这是一回事吗?我在任何地方都找不到它。

var plant_map = new google.maps.Map(document.getElementById('map-plants'), {
// zoom: 5,
minZoom: <?php echo $zoomLevel ?>,
center: new google.maps.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>),
mapTypeId: 'terrain',
mapTypeControl: false,
// scaleControl: false,
// disableDefaultUI: true
});

上面的代码工作正常,因为$latitude$longitude数据来自用户cookie或输入。但是,当坐标不可用时,有没有办法使用城市/州来设置"中心:"?

另一种方法是手动获取每个位置的纬度/经度,以硬编码到数组中。谢谢!

要回答您的问题,基本上,center 参数只接受LatLngLatLngLiteral

由于需要center参数才能实例化地图,因此您可能需要先获取用户的位置,然后再实例化地图。

获取用户位置后,您可以使用检测到的地理坐标将地图居中,或者您可能想从这篇文章中查看我的答案,该答案演示了如何检测用户位置(使用 HTML5 地理位置 API(,获取其相应的城市地址并将地图的边界设置为城市地址的视口。

我希望这有帮助!

相关内容

最新更新