Google地图:如果找不到地址,则显示备用位置

时间:2017-06-05 23:43:48

标签: google-maps

我正在尝试使用Google地图iframe在地图上显示位置。

q 参数值设置为从存储在数据库中的用户数据中提取的地址+城市+州+国家/地区

<iframe src="http://maps.google.com/maps?q=34A (1st Floor), Jalan SS 267, Petaling Jaya, Selangor,Malaysia&layer=tc&t=m&z=15&source=embed&output=svembed"></iframe>

但是,有时如果无法显示 q 参数,虽然正在maps.google.com搜索字段中复制并粘贴它,但它会出现。

我的问题:当找不到 q 参数中的地址时,是否可以将城市和州显示为替代?

1 个答案:

答案 0 :(得分:0)

您可以使用Google Maps Embed API创建一个解决方案,但还需要一个额外的步骤。

您应该获得城市的纬度和经度位置。例如,使用地理编码API,您可以看到'Petaling Jaya,Selangor,Malaysia'已经协调3.1278871,101.5944885

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3DPetaling%2520Jaya%252C%2520Selangor%252CMalaysia

现在,您可以应用Embed API的中心和缩放参数,以便将地图置于城市中心。生成的URL将是

https://www.google.com/maps/embed/v1/place?q=34A%20(1st%20Floor)%2C%20Jalan%20SS%20267%2C%20Petaling%20Jaya%2C%20Selangor%2CMalaysia&center=3.1278871,101.5944885&zoom=13&key=YOUR_API_KEY

<强>实施例

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Embed API</title>
</head>
<body>
<iframe 
  
src="https://www.google.com/maps/embed/v1/place?q=34A%20(1st%20Floor)%2C%20Jalan%20SS%20267%2C%20Petaling%20Jaya%2C%20Selangor%2CMalaysia&center=3.1278871,101.5944885&zoom=13&key=AIzaSyDztlrk_3CnzGHo7CFvLFqE_2bUKEq1JEU" width="600" height="400">
  
</iframe>
</body>
</html>

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Embed API</title>
</head>
<body>
<iframe 
  
src="https://www.google.com/maps/embed/v1/search?q=267%2C%20Jalan%20SS%202%2F2%2C%20Petaling%20Jaya%2C%20Selangor%2CMalaysia&center=3.1278871%2C101.5944885&zoom=13&key=AIzaSyDztlrk_3CnzGHo7CFvLFqE_2bUKEq1JEU" width="600" height="400">
  
</iframe>
</body>
</html>

无法提供替代地址,但您可以在城市中定位地图。