相关疑难解决方法(0)

从google map api v3中删除路线

我有一个使用API​​ v3的谷歌地图,它可以获取从一个位置到另一个位置的路线.该应用程序运行良好,但获取方向的窗口是地图上的叠加.我喜欢它,所以当这个窗口关闭时,方向将从地图上移除,但其他标记仍然存在.

我尝试过以下方法:

$('#content .close').live('click', function() {
$('#content').hide();
directionDisplay = new google.maps.DirectionsRenderer();
directionDisplay.suppressMarkers = true;
directionDisplay.setMap(map);
return false;
});
Run Code Online (Sandbox Code Playgroud)

这似乎隐藏了预期的窗口,但没有做任何关于从地图中删除方向的问题.

任何帮助深表感谢.

戴夫.

javascript jquery google-maps google-maps-api-3

36
推荐指数
3
解决办法
4万
查看次数

AngularJS ui-gmap-google-map删除行车路线

使用AngularJS和ui-gmap-google-map指令(http://angular-ui.github.io/angular-google-maps/#!/)我创建了一个谷歌地图,绘制了驱动路线.当我尝试绘制不同的路线时,第一条路线仍然在地图上.我试过directionsDisplay.setMap(null); 删除旧路由,但这不起作用.有人可以帮忙吗?

这是我的控制器代码的相关部分:

uiGmapIsReady.promise().then(function (map_instances) {
                $scope.mapRef = $scope.map.control.getGMap();
            });

$scope.getDirections = function (lat, long, origin, type) {
            uiGmapGoogleMapApi.then(function (maps) {
                var directionsService = new maps.DirectionsService();
                var directionsDisplay = new maps.DirectionsRenderer();

                if (origin == "" || type == "geo") {
                    origin = $scope.geoPosition.coords.latitude + ", " + $scope.geoPosition.coords.longitude;
                }

                var request = {
                    origin: origin,
                    destination: lat + ", " + long,
                    travelMode: maps.TravelMode['DRIVING'],
                    optimizeWaypoints: true
                };

                directionsService.route(request, function (response, status) {
                    if (status === google.maps.DirectionsStatus.OK) {
                        directionsDisplay.setMap(null); …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3 angularjs

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

从谷歌地图中删除折线

我正在使用DirectionsRenderer显示一条路径,但在我完成之后我想删除折线并继续进行操作.我似乎无法控制此功能创建的标记和折线.

有没有人知道如何删除这样的折线,如果不可能,其他建议?

我现在你可以使用suppress属性,但是因为我在第一阶段使用折线,所以这并没有真正解决任何问题.

严重沮丧..干杯!

polyline google-maps-api-3

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

删除以前的路线路线谷歌地图

嗨,我正在尝试从信息窗口计划一条路线,但我无法删除之前设定的路线.我尝试了setMap(null)但它没有用.我正在使用一个事件监听器的回调,因为我需要传递从api调用返回的参数.一种选择是在每个事件上使用新的google.maps.map,例如标记上的(链接),但是在页面加载时我的标记已经放置.

element = document.getElementById('map-canvas');
map = new google.maps.Map(element, options);
var marker = new google.maps.Marker({
    position: new google.maps.LatLng(car.lat, car.long),
    map: map,
    title: car.make
});
google.maps.event.addListener(marker, 'click', directionsCallback(car));
function directionsCallback(car) {
    return function (e) {
        if( infowindow != null ) {
            infowindow.close();
        }
        var directionsService = new google.maps.DirectionsService();
        directionsDisplay = new google.maps.DirectionsRenderer();
        directionsDisplay.setMap(null);
        console.log(directionsDisplay);
        calcRoute = function(){
            var startPoint = document.getElementById('clientAddress').value;
            var finishPoint = new google.maps.LatLng(car.lat, car.long);
            var request = {
                origin: startPoint,
                destination: finishPoint,
                travelMode: google.maps.TravelMode.DRIVING
            };
            directionsService.route(request, function …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3

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

清除Google Maps路线中的路线

我有一组从XML加载的标记;单击标记时,我会从当前位置到标记位置呈现方向。但是,我希望能够清除路线,最好是在用户单击其他标记时。目前,所有路线都同时显示。我不知道我在搞砸。我已经尝试过directionsDisplay.setMap(null),但是并不能清除它们。如果您注意到问题所在,请告诉我。谢谢。

function loadGoogleMap(){
    // load google map
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
        'callback=MyMap';
    document.body.appendChild(script);
}


var map = ''

function MyMap(){

/* 

document.getElementById('finddate').value

 */

var im = 'http://www.robotwoods.com/dev/misc/bluecircle.png';
var CustomMarker = 'http://findmyyard.com/images/MarkerIcon.png';

if(navigator.geolocation){

    navigator.geolocation.getCurrentPosition(locate, noPos());
} else { 

noPos();

}

function locate(position){


      var directionsDisplay = new google.maps.DirectionsRenderer();
      var directionsService = new google.maps.DirectionsService();

    var myLatLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
    var mapOptions = {
      zoom: 12,
      center: myLatLng,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      zoomControl: false,
      streetViewControl: false,
      mapTypeControl: false, …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3

0
推荐指数
2
解决办法
8775
查看次数