小编xom*_*ena的帖子

在Google Map上绘制虚线折线 - Android

我正在开发一个使用Google地图并在地图上绘制折线的Android应用程序.我想知道是否有办法绘制虚线折线(类似于谷歌地图在显示步行路线时显示的折线),我该怎么做.

我查看了PolylineOptions对象,但我找不到一个可以帮助我的方法.

有没有办法绘制虚线折线?如果是这样的方法是什么?

谢谢.

android google-maps dotted-line google-polyline google-maps-android-api-2

1
推荐指数
1
解决办法
6574
查看次数

在 Google Maps API 中生成 Google Maps URL

有一个项目使用 Google Maps API 来构建路线。

现在我的任务如下:在 Web 应用程序中使用 Google Maps API 创建路线,通过在地图上(位于 Web 应用程序中)移动路线来更改路线后,并生成您可以使用的链接后可以打开谷歌地图(https://www.google.com.ua/maps),其中应考虑用户在应用程序中的移动来显示路线。

换句话说:通过 Google Maps API 生成一个链接,在 Google 地图中显示更改后的路线。

我观看了文档,分析了 Google Maps API 和 Google 地图的查询和答案。所以我没有找到解决办法。

我想澄清一下这个任务是否可以实现?

javascript google-maps google-maps-api-3 web google-maps-urls

1
推荐指数
1
解决办法
4362
查看次数

在静态地图中使用来自Google Directions API的编码折线的错误路径

我正在尝试使用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

1
推荐指数
1
解决办法
405
查看次数

Google Map API:如何管理地理编码结果中的不同“address_components”?

考虑下面的谷歌地图地理编码响应的 JSON 响应。\n它由一个address_components包含五个元素的数组组成。\n通常开发人员使用其第一项(索引为 0 的项)来查找地址元素,例如 acroutelocalityformatted address。但这不是最好的选择。例如,在本例中,第二项比其他项更具描述性地址。有时,同一响应中会有不同地点的相同地址。

\n\n

我怎样才能选择更好的一个(例如,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\x87Karaj在不同的locality元素中,它们是两个不同的城市标签(在同一社区)。

\n\n

https://maps.googleapis.com/maps/api/geocode/json?latlng=35.7163931455472,51.01335000246763&key=xxxxx&language=fa

\n\n
{\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)

android google-maps google-geocoding-api

1
推荐指数
1
解决办法
2056
查看次数

是否可以使用 css 设置 div 样式以显示在 Google Maps API 的全屏地图上?

我正在使用 AngularJS、HTML、CSS 和 JQuery 制作一个 Web 应用程序。这个应用程序使用谷歌地图 api,当它全屏显示时,我需要让下面突出显示的 div 出现在地图的顶部。

突出显示 div 的网站

我发现的这个问题的所有解决方案都适用于当地图在浏览器中全屏显示时,但在我的情况下,当地图合法地全屏显示到屏幕边缘时,我需要它来工作。无论我给 .fixed 类多少 z-index,div 都不会出现在谷歌地图全屏上。下面的 HTML、JS 和 CSS:

HTML

<div ng-controller="airQualityCtrl" ng-init="init()">
    <!-- Everything for the air quality page -->
    <div class="row d-flex align-items-stretch" id="input-row">
        <div class="col-7 padding-sm">
            <div class="ui-card" id="input-card">
                <div class="card-title">
                    <h2 class="title text-lg">Choose Location</h2>
                </div>
                <div class="card-content padding-top-md">
                    <div class="form-group">
                        <h3 class="bold text-md no-margin">Location</h3>
                        <input ng-model="location" ng-keyup="submitLocation($event);" class="form-control" type="text" name="location"/>
                    </div>
                    <div class="form-group">
                        <h3 class="bold text-md no-margin">Latitude / Longitude</h3>
                        <input ng-model="location" ng-keyup="submitLocation($event);" class="form-control" type="text" name="location"/>                        
                    </div>
                </div> …
Run Code Online (Sandbox Code Playgroud)

css jquery google-maps google-maps-api-3 angularjs

1
推荐指数
1
解决办法
1247
查看次数

受限Google API密钥在反向地理编码中不起作用

我已经开发了具有Google Api的iPhone应用程序 https://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&key=API_KEY

如果我使用Public apikey,那么它可以正常工作,但是当我从google concol生成严格的api密钥时,api无法正常工作并给出错误

    {
   "error_message" : "This IP, site or mobile application is not authorized to use this API key. Request received from IP address 27.109.**.**, with empty referer",
   "results" : [],
   "status" : "REQUEST_DENIED"
}
Run Code Online (Sandbox Code Playgroud)

生成受限的Api密钥时,我添加了有效的捆绑包ID。请给我解决方案,谢谢。

google-maps api-key google-maps-api-3 geocode google-geocoding-api

1
推荐指数
1
解决办法
632
查看次数

如何从geojson设置Google Map的功能ID?

如何从geojson 设置Google Map的功能 id

idgetId()函数返回的内容。

undefined尽管id属性中存在属性,但以下代码不起作用(打印):

var uluru = {lat: -25.363, lng: 131.044};
  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 4,
    center: uluru
  });
  var data = {
    "type": "Feature",
    "geometry": {
      "type": "Point",
      "coordinates": [131.044, -25.363]
    },
    "properties": {
      "Id": 12
    }
  };
  map.data.addGeoJson(data);
  map.data.forEach(function(feature){
    console.log("Id from Google's feature: " + feature.getId());
  });
Run Code Online (Sandbox Code Playgroud)

小提琴:https : //jsfiddle.net/dimskraft/hj2t5je3/5/

UDPATE

我会写

var data = {
    "type": "Feature",
    "id": 13,
    "geometry": {
      "type": "Point", …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps geojson google-maps-api-3

0
推荐指数
1
解决办法
1839
查看次数

Android - 如何在驾驶模式下启动谷歌地图意图?

我能够启动谷歌地图意图

Uri location = Uri.parse("geo:0,0");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, location);
startActivity(mapIntent);
Run Code Online (Sandbox Code Playgroud)

如何在驾驶模式下启动意图(没有目的地,除非之前在地图中设置),使其看起来像下面的屏幕截图?

在此处输入图片说明

我尝试设置,mode=driving但只是打开了选择“驾驶”选项卡的常规地图:

 Uri location = Uri.parse("geo:0,0?mode=driving");
Run Code Online (Sandbox Code Playgroud)

android google-maps android-intent google-maps-urls

0
推荐指数
1
解决办法
6127
查看次数

如何从Google Geocoding API中仅获取administrative_area_level_2?

我试图从Google地理位置API结果中仅获取县名.不幸的是,县并不总是在结果的同一地点,所以我需要通过识别键来抓住它administrative_area_level_2

这是我的电话:

$.getJSON( {
    url  : 'http://maps.googleapis.com/maps/api/geocode/json?latlng=' + position.coords.latitude + ',' + position.coords.longitude + '&sensor=true',
    data : {
        sensor  : false
    },
    success : function( data, textStatus ) {
        var county = data.results[0].address_components[4].long_name;
        alert('County: ' + county);
    }
});
Run Code Online (Sandbox Code Playgroud)

这适用于我所在的县,但不适用于其他县,因为address_components[4]并不总是县.然而,我确实注意到该县始终与之相关administrative_area_level_2

这是一个示例响应:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Edge of Everglades Trail",
               "short_name" : "Edge of Everglades Trail",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Homestead",
               "short_name" : "Homestead",
               "types" …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3 google-geocoder google-geocoding-api

0
推荐指数
1
解决办法
3066
查看次数

如何在谷歌地图api v3上显示指南针?

如何在Google Map API v3中使用UiSettings?我尝试在地图中显示指南针(不是街景).如果有人知道如何展示它将会有所帮助,我是新来的.谢谢.

google-maps-api-3

0
推荐指数
1
解决办法
768
查看次数

Google Places API:请求的资源上不存在“Access-Control-Allow-Origin”标头

我尝试从 Angular 应用程序拨打电话,但收到以下错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

constructor(private http: Http) { 
  }

getNearbyRestaurants(lat: number, lng: number){
    return this.http.get(this.API_URL+this.API_KEY+`&location=${lat},${lng}`).pipe(
      map(result => result)
        );
      }
    }
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决这个问题吗?谢谢

api rest google-maps google-maps-api-3 google-places-api

0
推荐指数
1
解决办法
2510
查看次数

仅使用邮政编码的 Google Maps API 查询提供了不正确的结果

我们使用 Google Maps API,当用户输入 5 位邮政编码时,结果在绝大多数情况下都是正确的;它将输入视为邮政编码并根据该位置返回结果。

我们注意到的问题是,对某些邮政编码(42025 是我们的主要示例)的查询不会返回预期结果(肯塔基州本顿)。API 调用实际上返回“status”:“ZERO_RESULTS”。在maps.google.com上进行类似的搜索有时会产生积极的结果,但前提是肯塔基州本顿已经消耗了大部分视口。解决方法是在查询字符串中添加术语“zip”。

我的调查显示,失败的结果似乎使用了 5 位数字符串,就像街道地址一样,但什么也没找到。例如,对“42020”的查询最终会显示华盛顿特区附近的某个地址。

有人遇到过这个问题吗?对于如何解决这个问题有什么建议吗?

google-maps google-geocoder google-geocoding-api

0
推荐指数
1
解决办法
1万
查看次数