有人知道Google提供的Gmail“Map this”功能可用于API。我研究了很多,但没有找到理想的结果。我想要提供字符串消息的Google API:
BREA PROBLEM F:830 N MAIN ST 46, MT ANGEL:R454,
MED23:MAP-2530C:57YOF/ C/DIFFB BEE STING:BAVARIAN VILLAGE 503 845-2586::
Google会返回结果,就像“映射此”功能一样:
http://maps.google.com/maps?q=830+N+MAIN+ST+MT+ANGEL,+OR&oi=gmail
以下是更好地理解我的问题的图片:
答案 0 :(得分:2)
您可以使用Google Geocoding API完成“映射此功能”功能。更准确地说,您正在尝试geocode a given address:
地理编码是将地址(例如“1600 Amphitheatre Parkway,Mountain View,CA”)转换为地理坐标的过程 (如纬度37.423021和经度-122.083739),您可以使用 放置标记或定位地图。
您可以在此处找到一个简单的实时地理编码示例:https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple
最终,它会显示您在URL之后。似乎没有提供URL的API请求的显式返回。但是,如果您从请求中收到以下status code,则可以轻松创建URL:
google.maps.GeocoderStatus.OK indicates that the geocode was successful.
或者,您可以使用给定地址创建URL。例如,如果给定的地址是1500 Red Oak Drive,请将该字符串连接到http://maps.google.com/maps?q=
,Google地图将解析为匹配或显示可能的匹配。
以下是我编写的一些虚假地址。第一个实际存在,GMaps找到它。第二个没有,GMapgs提供了一些可能的匹配。
Static Maps API还可以为您提供有关如何根据给定地址构建网址的建议。
答案 1 :(得分:0)
您只需将地址转换为Google lang和纬度地址:
最佳和有保证的手动URL创建有两个步骤
第1步: 获取您的地址 使用LocationManager。
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();
The call to getLastKnownLocation() doesn't block - which means it will return null if no position is currently available - so you probably want to have a look at passing a LocationListener to the requestLocationUpdates() method instead, which will give you asynchronous updates of your location.
private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
longitude = location.getLongitude();
latitude = location.getLatitude();
}
}
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);
You'll need to give your application the ACCESS_FINE_LOCATION permission if you want to use GPS.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
You may also want to add the ACCESS_COARSE_LOCATION permission for when GPS isn't available and select your location provider with the getBestProvider() method.
第2步: 在Google网址中插入Lang和lat 像这样的东西
String url = "https://www.google.co.in/maps/place/"+ Langitude +","+ Lattitude;
您可以使用此网址执行任何操作,例如将其提供给webview或打开谷歌地图。或者使用谷歌嵌入式地图启用它,或者只是将此字符串作为邮件发送