此代码无效.请告诉我确切的解决方案
<script src="maps.googleapis.com/maps/api/…; type="text/javascript"></script>
<script type="text/javascript">
function initialize() {
var input = document.getElementById('searchTextField');
/* restrict to multiple cities? */
var options = {
types: ['(cities)'],
componentRestrictions: {country: ["usa", "uk"]}
};
var autocomplete = new google.maps.places.Autocomplete(input, options);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
Run Code Online (Sandbox Code Playgroud)
UPDATE
2017年1月,Maps JavaScript API版本3.27中引入了多个国家/地区过滤自动完成功能:
您现在可以将自动填充预测限制为仅覆盖多个国家/地区.您可以通过在AutocompleteOptions的componentRestrictions字段中指定最多5个国家/地区来执行此操作.
https://developers.google.com/maps/documentation/javascript/releases#327
为所有打开带有营业地点的谷歌地图的移动设备创建链接吗?
<a href="geo:37.6894694,-121.000303">Google MAP</a> -该链接转到该位置并重定向到移动版Google应用,但该公司的地址没有标记。
<a href="http://maps.apple.com/maps?q=Business Address">Google MAP</a> -此链接转到该位置,但不重定向到Google应用,而是移动设备让您选择要使用的内容。
我需要一个重定向到Google应用并标记Google商家地址的链接。
我正在使用科尔多瓦应用程序,并且有地图的浏览器密钥。
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBHJxzPHD_egYnhxntqcvfem35YRjruzAg&callback=initMap">
</script>
Run Code Online (Sandbox Code Playgroud)
但我想从服务器获取我的密钥,我获取并将该密钥存储为
localStorage.getItem("MapCode")
Run Code Online (Sandbox Code Playgroud)
这个本地存储给出
“ https://maps.googleapis.com/maps/api/js?key=AIzaSyBHJxzPHD_egYnhxntqcvfem35YRjruzAg&callback=initMap ”
所以我想将其写入 src 但我无法做到。
<script async defer
src=localStorage.getItem("MapCode")>
</script>
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?提前致谢
我已经实现了方向API,以使用浏览器/ JavaScript中的Google Maps V3方向API找到从源到目的地的路线.
现在,我想在路径部分中显示下面的快照(来自谷歌地图的快照)中显示的交通状况.
对于不同的交通状况,有没有办法用不同的折线strokeColor这样做?
如果无法使用方向API或流量层,我是否可以使用方向矩阵或道路API的高级版本来实现此功能?
以下是我到目前为止所做的事情以及我的输出:
var map;
var directionsService;
var polyline;
var directionsDisplay;
function initMap() {
directionsDisplay = new google.maps.DirectionsRenderer({
polylineOptions:{
strokeOpacity:1,
strokeWeight:5,
strokeColor: 'green'
},
draggable: true
});
directionsService = new google.maps.DirectionsService;
map = new google.maps.Map(document.getElementById('map'), {
zoom: 14,
center: {lat: 37.77, lng: -122.447}
});
var trafficLayer = new google.maps.TrafficLayer();
trafficLayer.setMap(map);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById('directionsPanel'));
directionsDisplay.addListener('directions_changed', function() {
DistanceOut(directionsDisplay.getDirections());
});
polyline = new google.maps.Polyline({
map:map
});
calculateAndDisplayRoute(directionsService, directionsDisplay);
}
function calculateAndDisplayRoute(directionsService, directionsDisplay) {
directionsService.route({
origin: 'Whitefield, Bangalore',
destination: …Run Code Online (Sandbox Code Playgroud) 从 Google 的Place Photos 文档中,我应该能够通过photo_reference向他们附近的搜索、雷达或地点详细信息服务发出请求来检索密钥。
我打自己的位置信息服务,和我收到的有10种元素的照片数组,但这些元素只包含height,width和html_attribution键。我是否在这里遗漏了一些东西,或者他们的 API 在没有更新他们的文档的情况下发生了变化?
这是我对放置详细信息的请求,place响应在哪里:
export function placeDetailsFetchData(placeId) {
return (dispatch) => {
const request = { placeId };
const service = new google.maps.places.PlacesService(document.createElement('div'));
service.getDetails(request, (place, status) => {
if (status == google.maps.places.PlacesServiceStatus.OK) {
dispatch({
type: PLACE_DETAILS_FETCH_DATA_SUCCESS,
place
});
} else {
dispatch(placeDetailsHasErrored(true));
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
这是响应中的照片值:
[
{
"height": 3024,
"html_attributions": [
"<a href=\"https://maps.google.com/maps/contrib/109733975839515761188/photos\">Chris Bair</a>"
],
"width": 4032
},
{
"height": 2992, …Run Code Online (Sandbox Code Playgroud) 我正在处理我发送waypoints到Gmaps应用程序的功能,Intent以便使用可以通过waypoints我发送的自定义导航到目标
当我在嵌入式中绘制这条路线时Google Maps,我可以看到Circuit route,但是当我在Gmaps应用程序中看到相同的路线时,它就Circuit被打破了.
我的代码:
String srcAdd = "saddr="+latLngArrayList.get(0).latitude+","+latLngArrayList.get(0).longitude;
String desAdd = "&daddr="+latLngArrayList.get(latLngArrayList.size() - 1).latitude+","+latLngArrayList.get(latLngArrayList.size() - 1).longitude;
String wayPoints = "";
for (int j = 1; j < latLngArrayList.size() - 1; ++j) {
wayPoints =wayPoints+"+to:"+latLngArrayList.get(j).latitude+","+latLngArrayList.get(j).longitude;
}
String link="https://maps.google.com/maps?"+srcAdd+desAdd+wayPoints;
final Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(link));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
今天我注意到SearchBox中的自动完成功能不在我的服务上,当我查看Google的官方示例时,它甚至无法正常工作.
https://developers.google.com/maps/documentation/javascript/examples/places-searchbox
有谁知道发生了什么?>)
UPDATE
此问题已在问题跟踪器https://issuetracker.google.com/issues/74048143中处理.它于2018年3月2日在版本3.32中标记为已修复.
我正在尝试使用Google Directions API中的编码折线并将其显示在Google静态地图图像中。当我在静态地图中使用编码的折线时,路径显示不正确-路径从正确的位置开始,并且具有正确的一般路径,但与预期结果不符。
例如,我已经请求rail从伯尔尼到苏黎世机场的路线指示。API返回以下编码的折线:
}sp}Gmrkl@m@wIiAaB_BaA}IcCmLoFqG_DuFkAyN[mEiBqN}MqFsLqUoxAyG{`@qGqJwDkBeJMod@lScMzF{OfCwH[oGwAwI{EyOiTcS{e@mKkd@iGsi@wKem@iKg[aPg[_N_RiE{EoUaR{f@}X}d@sWo[mN}]_KqYcDePyCcQaGeUuM{PoO_SsWcLeTiSsi@{Ka[yRgb@sN{S}RaS_XkRiX{OiO{GgMiEoc@aDwq@{Eig@qHyhAeQ{n@_Nqj@uOqp@qTcZmNyZkUcRkSsIiL{Qq[qHuPuLk]wIe]mLqd@sLm\\kf@y`Ayk@eeAu`AazA}JgR{Qeb@yHsX}Gg\\uDyViEwn@wHup@w_@_sCyT_~AsVuwAkGaT}Qud@cZch@y{@{gB_OeTaPkQkf@ae@kQcQ}MwPoQu[{GgPkJiZiEoRaIgh@_Gm[oQyj@kPk\\iPkTi[cYuOyIqQsGcYuFm]gCug@g@cU{G}IaGeHcH}IsMyFaMsKi]eLw`@qKab@kIwe@eDkLyKwRiGsFoOuGcGkAuQm@uH_@{W}DmOkFcXiQ{WgTkLgL}I_KwJgGcHoBeGMaIjBuDhA_GRab@aEoKuCqFaEoIsQaG}NkDuL_@qR~BmNdR{b@zEaW~Cee@vEsv@vA}JfEeNvH{T|AcKXyN{AgQeDeNeHqWwYseAcX_eA}IwSqGiHsHeE{g@uQeJqFeF{H_EuLyWg|@wX{_AqIkc@_[klB_Q{iAgRegCkTsqCmK{sAgJgx@qAeZPeNtAsOpGoVhRe[|E}LlJob@`Mwj@vFoWvLsk@bBcPaAmX_ByRcJmgAsCa]yEaTuFqJsG{Foa@}P}JoIsJmQuKoRgFgLgCuJaTghAwI}`@cJsVgIsMgZ{XkH{KsGqRcD_XE_ZXwn@}`AylKyBeWEsLrAiTfB}LzS{w@|Mcj@fTez@tOmi@lLmb@dGkOhO{\\rE_FtJgPv[eh@~EeG`HoK|LmH~SuJjGqEbHuN|Eic@lGsu@bAyQYmP}B{o@iDqaAuAus@zCcYnEkTtMmu@|Jak@fUerAzC_SLyNpD_\\~DuXbJq`@zDySbDqJrM{o@bCcOjG}WnAsFv@kEdAyFeAxFw@jEc@`Bo@~BsCbNyBdLsAzHOzOaAlKaDhGiEzBoFOiDgCgD{HiEoPcG_HiVaLiF_CwIwFgFaBiOkFoQgIe[iNsJyF}DoFuGeOyHgXmGeHcLmJwZwXkb@k`@yMaLkHiDaKeB_Ly@}CVcEtAaE|CQJiMdHyJxCgWv@cSyDmIaIuBuE
Run Code Online (Sandbox Code Playgroud)
使用Google Maps API绘制此编码的折线可得出正确的路径:
}sp}Gmrkl@m@wIiAaB_BaA}IcCmLoFqG_DuFkAyN[mEiBqN}MqFsLqUoxAyG{`@qGqJwDkBeJMod@lScMzF{OfCwH[oGwAwI{EyOiTcS{e@mKkd@iGsi@wKem@iKg[aPg[_N_RiE{EoUaR{f@}X}d@sWo[mN}]_KqYcDePyCcQaGeUuM{PoO_SsWcLeTiSsi@{Ka[yRgb@sN{S}RaS_XkRiX{OiO{GgMiEoc@aDwq@{Eig@qHyhAeQ{n@_Nqj@uOqp@qTcZmNyZkUcRkSsIiL{Qq[qHuPuLk]wIe]mLqd@sLm\\kf@y`Ayk@eeAu`AazA}JgR{Qeb@yHsX}Gg\\uDyViEwn@wHup@w_@_sCyT_~AsVuwAkGaT}Qud@cZch@y{@{gB_OeTaPkQkf@ae@kQcQ}MwPoQu[{GgPkJiZiEoRaIgh@_Gm[oQyj@kPk\\iPkTi[cYuOyIqQsGcYuFm]gCug@g@cU{G}IaGeHcH}IsMyFaMsKi]eLw`@qKab@kIwe@eDkLyKwRiGsFoOuGcGkAuQm@uH_@{W}DmOkFcXiQ{WgTkLgL}I_KwJgGcHoBeGMaIjBuDhA_GRab@aEoKuCqFaEoIsQaG}NkDuL_@qR~BmNdR{b@zEaW~Cee@vEsv@vA}JfEeNvH{T|AcKXyN{AgQeDeNeHqWwYseAcX_eA}IwSqGiHsHeE{g@uQeJqFeF{H_EuLyWg|@wX{_AqIkc@_[klB_Q{iAgRegCkTsqCmK{sAgJgx@qAeZPeNtAsOpGoVhRe[|E}LlJob@`Mwj@vFoWvLsk@bBcPaAmX_ByRcJmgAsCa]yEaTuFqJsG{Foa@}P}JoIsJmQuKoRgFgLgCuJaTghAwI}`@cJsVgIsMgZ{XkH{KsGqRcD_XE_ZXwn@}`AylKyBeWEsLrAiTfB}LzS{w@|Mcj@fTez@tOmi@lLmb@dGkOhO{\\rE_FtJgPv[eh@~EeG`HoK|LmH~SuJjGqEbHuN|Eic@lGsu@bAyQYmP}B{o@iDqaAuAus@zCcYnEkTtMmu@|Jak@fUerAzC_SLyNpD_\\~DuXbJq`@zDySbDqJrM{o@bCcOjG}WnAsFv@kEdAyFeAxFw@jEc@`Bo@~BsCbNyBdLsAzHOzOaAlKaDhGiEzBoFOiDgCgD{HiEoPcG_HiVaLiF_CwIwFgFaBiOkFoQgIe[iNsJyF}DoFuGeOyHgXmGeHcLmJwZwXkb@k`@yMaLkHiDaKeB_Ly@}CVcEtAaE|CQJiMdHyJxCgWv@cSyDmIaIuBuE
Run Code Online (Sandbox Code Playgroud)
function initialize() {
var map = new google.maps.Map(document.getElementById('map-canvas'), {
center: {
lat: 47.23,
lng: 8.00
},
zoom: 09
});
var encoded_data = '}sp}Gmrkl@m@wIiAaB_BaA}IcCmLoFqG_DuFkAyN[mEiBqN}MqFsLqUoxAyG{`@qGqJwDkBeJMod@lScMzFcFvAwHn@wH[oGwAwI{EwFqGaHwKcS{e@mKkd@iGsi@wKem@iKg[aPg[_N_RiE{EoUaR{f@}X}d@sWo[mN}]_KqYcDePyCcQaGeUuM{PoO_SsWcLeTiSsi@{Ka[yRgb@sN{S}RaS_XkRiX{OiO{GgMiEoc@aDwq@{Eig@qHyhAeQ{n@_Nqj@uOqp@qTcZmNyZkUcRkSsIiL{Qq[qHuPuLk]wIe]mLqd@sLm\\kf@y`AiRm^oXwe@u`AazA}JgR{Qeb@yHsX}Gg\\uDyViEwn@wHup@w_@_sCyT_~AaKgo@qJmg@kGaT}Qud@cZch@y{@{gB_OeTaPkQkf@ae@kQcQ}MwPoQu[{GgPkJiZiEoRaIgh@_Gm[oQyj@kPk\\iPkTi[cYuOyIqQsGcYuFm]gCug@g@cU{G}IaGeHcH}IsMyFaMsKi]eLw`@qKab@kIwe@eDkLyKwRiGsFoOuGcGkAuQm@uH_@{W}DmOkFcJ}E_MkJ{WgTkLgL}I_KwJgGcHoBeGMaIjBuDhA_GRab@aEoKuCqFaEoIsQaG}NkDuL_@qR~BmNdR{b@zEaW~Cee@vEsv@vA}JfEeNpG_Q|A_HfAwOq@qQ{DeRgSou@eb@i|AyJc^aKcOeHyEm_@aNeOsFkDiCmEaGiIiV}e@__B}Kkc@{Q{fAg\\wpBkLqrAeWuiDyUuwCqGak@aA_SFeNjCwWhI_W`MaRjFgLbVueAdHa[fP}w@fAqT_BoVoHi}@{Hq{@yF}QyFaImH_FaQqGmQcJqH}IuWag@yFkQ{FyZcVcmAeJ_W{LcRqOaNgK{KeI{PeFoW}@eTp@qp@e@oRqHkr@gx@{|IwA_St@iSbAgNnGsXhRks@pNwk@bQsp@tVu|@zF}PhN}\\rDoH~BaCvDqEn]el@fP_VrDiFbDaCdXoMbIgErCcDpCaFdCqIpFil@vFsq@ViQ}@qS{Bop@uCkaA{@o[\\yV`N{t@~W{zAdVowAZeNvA_MbEmTxHeZb@}IpCwQbIe`@jMgp@tC_PvFkT~CgMdAaGeA`Gq@xDkAhEaBdHsBvIcE`SG|OsAlKaDlF{ErBgFg@}CoCaDcI{EcQ}F{FcHaDiNiGwGoDwGgEgOkEca@mQmVaLyFgEcIiOaG_QiDuLsBuCuJkIgWsT_m@uj@iPgNqSaEoKc@cBRgFpB_DdCqMjHyJxCsJv@aW_AcNsGuF}J';
var decode = google.maps.geometry.encoding.decodePath(encoded_data);
var line = new google.maps.Polyline({
path: decode,
strokeColor: '#red',
strokeOpacity: 1.0,
strokeWeight: 4,
zIndex: 3
});
line.setMap(map);
}
initialize();Run Code Online (Sandbox Code Playgroud)
#map-canvas {
height: 400px;
}Run Code Online (Sandbox Code Playgroud)
但是,当在静态地图中使用相同的编码折线时,路径从伯尔尼开始并在苏黎世以北结束。这是静态网址:
https://maps.googleapis.com/maps/api/staticmap?size=512x512&scale=2&maptype=terrain&style=feature:all&path=weight:3%7Ccolor:0xff0000ff%7Cgeodesic:true%7Cenc:} sp} Gmrkl @ m @ wIiAaB_BaA } IcCmLoFqG_DuFkAyN [mEiBqN} MqFsLqUoxAyG { @qGqJwDkBeJMod@lScMzFcFvAwHn@wH[oGwAwI{EwFqGaHwKcS{e@mKkd@iGsi@wKem@iKg[aPg[_N_RiE{EoUaR{f@}X}d@sWo[mN}]_KqYcDePyCcQaGeUuM{PoO_SsWcLeTiSsi@{Ka[yRgb@sN{S}RaS_XkRiX{OiO{GgMiEoc@aDwq@{Eig@qHyhAeQ{n@_Nqj@uOqp@qTcZmNyZkUcRkSsIiL{Qq[qHuPuLk]wIe]mLqd@sLm\\kf@yAIRM ^ oXwe …
google-maps google-maps-api-3 google-maps-static-api google-directions-api
有没有API可以获取某个城市的“待办事项”列表?
\n\n我使用 google place API 来搜索待办事项,网址如下:
\n\n\n\nAPI结果是:
\n\n蒙索公园
\n\n凯旋门
\n\n圣\xc3\xa9-C\xc5\x93ur
\n\n埃菲尔铁塔
\n\n卢浮宫博物馆
\n\n但正如您所看到的,这些结果并未按受欢迎程度排序。
\n\n例如,“蒙纳索公园”并不是巴黎排名第一的景点。
\n\n另外,当我在谷歌中搜索“法国巴黎要做的事情”时,\n结果是这样的:
\n\n埃菲尔铁塔
\n\n卢浮宫
\n\n凯旋门
\n\n巴黎迪士尼乐园
\n\n巴黎圣母院
\n\n这是最好排序的待办事项列表,谷歌将在搜索结果中显示该列表。但我不知道为什么我无法通过 google place api 获得准确的列表。
\n\n另外,正如您所看到的,“迪士尼乐园”显示在 Google 搜索中,但在 Google Places API 中不可用。
\n\n请帮助解决这个问题。
\n\n谢谢。
\n考虑下面的谷歌地图地理编码响应的 JSON 响应。\n它由一个address_components包含五个元素的数组组成。\n通常开发人员使用其第一项(索引为 0 的项)来查找地址元素,例如 acroute和locality和formatted address。但这不是最好的选择。例如,在本例中,第二项比其他项更具描述性地址。有时,同一响应中会有不同地点的相同地址。
我怎样才能选择更好的一个(例如,android中的Google Map API在可用项目中选择一个,但它并不总是索引为0的项目,但它在备选方案中进行选择,我想知道它将如何做到这一点并选择最佳匹配) ?
\n\n此外,我想迭代不同的所有元素address_components以提取和汇集更精细的信息,但问题是同一类型元素的信息,例如不同的信息locality具有不同的信息address_components,当从不同的信息元素收集的信息元素时,会导致地址不一致。address_component项目。\n举个例子,在下面的示例中,我们有两个值\xd8\xb4\xd9\x87\xd8\xb1 \xd8\xac\xd8\xaf\xdb\x8c\xd8\xaf \xd8\xa7\xd9\x86\xd8\xaf\xdb\x8c\xd8\xb4\xd9\x87,Karaj在不同的locality元素中,它们是两个不同的城市标签(在同一社区)。
{\n "results" : [\n {\n "address_components" : [\n {\n "long_name" : "Unnamed Road",\n "short_name" : "Unnamed Road",\n "types" : [ "route" ]\n },\n {\n "long_name" : "Karaj",\n "short_name" : "Karaj",\n "types" : [ "locality", "political" ]\n },\n {\n "long_name" …Run Code Online (Sandbox Code Playgroud)