【问题标题】:Is there any way to remove markers on python googlemaps api?有什么方法可以删除 python googlemaps api 上的标记?
【发布时间】:2020-09-28 06:29:21
【问题描述】:

我在 Python 上使用 googlemaps 和 gmplot 库在 .html 地图上绘制航路点和方向,但找不到删除 A 和 B 标记并仅省略路线的方法。这些标记指的是 Google 地图上轨迹的起点和终点。

我发现在其他语言(即 JavaScript)中使用 DirectionsRendererOptions 下的 suppressMarkers 是可能的——这似乎是一个函数。我到处搜索,但在 python lib 上找不到方法或类似功能。这种能力,如果存在的话,我认为要么在 googlemaps 库中,要么在 gmplot 库中(我猜是这个)。 如果有人对此有所了解并能以某种方式帮助我,我将非常高兴。谢谢=)

+Plus:我只是想删除它们,因为我找到了一种正确绘制最佳路线的方法,这似乎不可能绘制实际的“ plotmap.directions(start, end , waypoints=list, optimize_waypoints = True, traffic_model = 'best_guess',departure_time=datetime.now())”函数。它会正确返回优化的航点顺序,但会在地图上显示所有错误。问题是,我发现正确绘制路线的方法是使用优化的顺序通过 for 循环执行方向(),这给我留下了一张充满 A 和 B 标记的地图。这就是为什么我需要删除它们。再次感谢!

【问题讨论】:

    标签: python google-maps optimization plot gmplot


    【解决方案1】:

    我不能代表 googlemaps,但 gmplot 目前无法抑制这些标记。

    不过,与此同时,您可以修改生成的 HTML 文件以抑制它们;寻找...

    new google.maps.DirectionsRenderer({map: map}).setDirections(response);
    

    ...并在那里设置suppressMarkers

    new google.maps.DirectionsRenderer({map: map, suppressMarkers: true}).setDirections(response);
    

    (您还可以修改已安装的库副本并在此处更新与DirectionsRenderer 相关的代码。)

    【讨论】:

    • 谢谢,这些信息肯定会有用。鉴于其余代码是,您是否知道直接使用 python 进行此修改的任何方法?即:通过python,将map.html文件中的“map:map”替换为“map:map,suppressMarkers:true”
    • @VictorCaldas 替换它的一种巧妙方法可能是:map_string = gmap.get().replace('DirectionsRenderer({map: map', 'DirectionsRenderer({map: map, suppressMarkers: true'),然后只需将map_string 写入 HTML 文件:with open("map.html", "w") as f: f.write(map_string)。 (gmap 将是您的 gmplot.GoogleMapPlotter() 对象)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多