问题标签 [map-directions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 禁用 Google API DirectionsService 中的两个可拖动标记之一
我正在使用 Google API 方向服务,我想禁用地图中的两个标记之一。当我使用渲染选项并将可拖动设置为 false 时,两个标记都设置为 false,但我希望将其中一个标记禁用为 false,而不是两者都禁用。
android - 我的 android 应用程序的自定义地图
我想为我的应用创建自定义地图。我想要的东西是:
- 它将是我们为活动地点设计的自定义地图(不是谷歌地图)。
- 所有位置都将像谷歌标记一样显示在地图上。
- 就像谷歌地图一样,我希望用户选择一个位置并获取从他/她当前位置到该区域内选定目的地的方向(我主要关心)。
有没有可能的解决方案?任何链接,开始的建议请告诉我。
这是非常小鬼。对我来说……谢谢。
api - 在 Gmaps Api 中使用一个航点作为目的地
我正在使用 gmaps Api 为必须访问市场列表(我的航点)以记录他们的股票的人制作路线。我将用户的房屋位置用作路线的起点,并将市场的位置用作我的航点。问题是我不知道哪个航点是路线的目的地,因为我optimization = true
在调用方向服务时设置了属性,但是 api 需要一个目的地来跟踪路线。
我需要的是一种方法来告诉 api 使用我优化路线的最后一个航路点作为目的地。
google-maps - 谷歌地图路线用户界面
是否可以复制 Google 地图方向用户界面,例如此处显示的示例
意思是,我可以调用一个 API 来在我的网站上以与 Google 相同的方式显示从和到地址、不同的交通方式图标等吗?这是我想要的图片:
google-maps - Google Directions Service API 3 向地图返回错误结果
我正在使用 google Direction Service 查找以下两个地址的地图
通过谷歌地图直接选择它方向它工作正常
使用方向服务时它的工作方式不同。查找以下示例
http://jsfiddle.net/MRHQ4/291/(致谢作者:Shreerang Patwardhan)
当我从源和目标中删除 Address2 时它工作正常
android - DirectionResult 有空路线和航点 - Google Directions API
我对这个程序的目标是轮询 Google Directions API 并在 Android 应用程序的 MapView 上通过折线绘制路线。
但是,当我DirectionsResult
从 API 调用中得到回复时,尝试访问directionsResult.routes[0]
或directionsResult.geocodedWaypoints[0]
导致NullPointerException。
我目前正在使用 maven 存储库导入以下库(摘自我的 build.gradle):
我在带有调试调用的 AsyncTask 实现中的当前代码已注释掉:
我的调试过程:
显然,这是一个简短但完整的电话。使用包含折线点的腿元素(这是我假设我所追求的)。这个 JSON 与我从阅读中得到的响应相同httpResponse.parseAsString()
。
查看一些 StackExchange 问题,我看到有人建议等待接收数据。我在请求周期的所有组成部分之间延迟了 1 秒,但没有结果。
通话的其他部分都不是空的。
httpResponse.getStatusCode()
退回200。httpResponse.getStatusMessage()
返回确定。
在我尝试使用DirectionsResult
以下方法解析 JSON之前HttpResponse
,一切看起来都很正常:
之后我在访问DirectionsResult
:routes
和geocodedWaypoints
.
有人在这门课上遇到过类似的问题吗?我一直在想,如果这里没有解决,我可能会在正确的 google-http-client 库 GitHub 页面上提交问题。
javascript - 构建路线后如何在谷歌地图api中更改路线的颜色
您会发现许多已经回答的问题,显示如何在其上构建具有不同颜色的路线 如何在谷歌地图 v3 中更改路线的颜色
我想知道如何在颜色已经构建和渲染后更改颜色。
我在地图上显示了许多不同的路线,但我想显示红色或更深的颜色,如果此方向点处于活动状态并将其他路线颜色更改为灰色,直到其中一个处于活动状态。
代码:
演示以显示它如何不适用于两条路线:http: //jsfiddle.net/8xq4gd8y/15/
javascript - 拆分过大路径时 Google Maps Elevation Service 响应不准确
这是一个有点细节的问题,所以让我先解释一下情况,然后是我的实现,最后是这个问题,这样你就明白了。
自 4 月 4 日起,添加了更新,并将问题缩小到一个未决问题,请参阅此问题的底部以获取最新信息。
TLDR;
我从 Google Maps Directions API 返回了一条很长的路线,并且想要该路线的高程图。太糟糕了,它不起作用,因为它是通过 GET 请求的,并且 URL 最大长度是 2.048 个字符,超出了。我拆分了请求;使用 Promises 保证正确的处理顺序;但海拔数据并不总是完整的完整路线,并不总是以正确的顺序显示,并不总是遵循给定的路径,而且海拔间的位置有时跨越几公里。
介绍;
尝试为 Google Maps DirectionsService 响应创建高程图时,我遇到了路线太长的问题(这似乎与距离无关,而不是与每个 overview_path 的 LatLng 数有关)。这是因为 ElevationService 是通过请求的,GET
并且 URL 的最大长度为 2048 个字符。这个问题也在 SO here 上进行了描述。
执行;
我想我会比谷歌更聪明(不是真的,但至少试图找到一种解决方法),将 DirectionsService(overview_path
属性)返回的路径分成批次并连接结果(elevations
由 ElevationService 方法返回getElevationsAlongPath
) .
- 为了获得最佳细节水平,我使用每批 512 个样本查询 ElevationService;
- 因为 ElevationService 将样本分布在路径的长度上,所以我设置了
LatLng
每个批次的最大数量,并检查需要多少批次来处理完整路径 (totalBatches = overview_path.length / maxBatchSize
); - 最后让我的路线分布均匀,从而尝试为完整路线(
batchSize = Math.ceil(overview_path.length / totalBatches)
)获得相同级别的详细信息。
虽然 ElevationService 异步工作,但我确保在其他 SO 用户的帮助下,所有请求都以正确的顺序处理,首先使用 setTimout,现在使用 Promises。
我的代码
边注;
我还在批量处理 DirectionService 的请求,以解决该服务的 8 个航点限制,但我可以确认这不是问题,因为我也面临 8 个或更少航点的问题。
问题;
我面临的问题是:
- 高程数据并不总是遵循路线的完整路径,这意味着图表中的最后一个高程点距离路线末端(远);
- 海拔数据有时会以随机顺序显示,就好像 Promise 似乎还没有等待下一个任务执行一样;
- 海拔数据并不总是遵循给定批次
LatLng
中overview_path
提供的给定数据(见截图); - 高程距离数据很多。有时跨越多个公里,同时请求 512 个样本以获得均匀匹配的批次大小,
LatLng
每批次最多 200 秒。
我认为使用 Promises 批处理 ElevationService(以及在使用 setTimtout 计时之前)可以解决我所有的问题,但我解决的唯一问题是不超过 2.048 字符请求 URL 并面临上述新问题。
非常感谢帮助
另外我想提出250个代表。就在这个问题上的赏金,但目前这是不可能的。因此,请随时回复,因为我稍后可以添加赏金并将其奖励给解决所描述问题的答案。250 代表。赏金已被授予以感谢您为我指明正确的方向。
感谢阅读和回复!
4 月 4 日更新,留下 1 个未决问题(据我目前所知)
解决了随机顺序高程的问题
当我注意到方向结果中的不一致行为时,我已经能够解决一些问题。这是由一个明显的原因引起的:异步调用不是“承诺”安排的,所以有时顺序是正确的,大多数时候不是。起初我没有注意到这一点,因为标记显示正确(缓存)。
解决了高程距离问题
显示高程数据的 div 只有 300 像素宽,并且包含许多数据点。由于宽度如此之小,我根本无法将鼠标悬停在足够多的点上,从而导致触发彼此相距较远的高程点。
高程数据未沿路线显示的问题
不知何故,我也解决了这个问题,但我不确定更大的宽度或“有希望”的方向顺序是否解决了这个问题。
待解决的问题:高程数据并不总是完整的
唯一剩下的问题是高程数据并不总是覆盖完整路径。我相信这是因为 Promising 逻辑中的错误,因为在控制台中记录一些消息告诉我海拔图是在并非所有 Promise-then 完成的点绘制的,我认为这是由于在 Over 时重新触发批处理调用引起的Google Maps API 返回查询限制错误。
当返回 Over Query Limit 错误时,如何重新触发同一个链?我试图不再解决相同的功能,而只是触发setTimeout(...)
,但此时 Promise 似乎没有解决重新触发的批处理,因为它不再获得 Over Query Limit。目前这是我设置它的方式(对于方向和高度):
javascript - 如何在地图上创建路径叠加
我对 Google Maps API 完全陌生。我正在开发一个与您在此处看到的类似的应用程序:http ://www.wandelknooppunt.be/routeplanner?kaart=kempense-heide
我设法将节点添加到地图中,我看不到如何在地图上的节点之间添加路径。路线规划 API 似乎没有解决方案,因为其想法是用户应该能够通过单击节点来创建他们的路线。节点和路径都是固定的。
所以我的问题是如何在数据库中的两个节点之间保存路径(路线)。(我要存储的路径不一定是两个节点之间最快/最短的路线,但它始终是汽车可到达的公共路线)
ios - 在 IOS Objective-C 应用程序上向 Google 地图添加标记图像
我有一张地图来显示方向。我可以点击一个方向来查看带有说明的注释,但我想要做的是在方向坐标上添加一个标记。这是我目前正在使用的代码:
需要明确的是,注释和折线都很好,只是从未显示过标记。