2017-12-21 4 views
0

Ich kann die Karte mit ManuovePoints zeichnen.Bing Maps Richtungen mit Clustering

Unten ist der Screenshot für Karte

enter image description here

Unterhalb der Code für das Routing ist.

var maneuverPoints = this.model.get("maneuverPoints"); 
     if (maneuverPoints) { 
      var routePoints = []; 
      _.each(maneuverPoints, function (point) { 
       routePoints.push(new MsMaps.Location(point.latitude, point.longitude)); 
      }); 
      var routeOptions = { 
       strokeColor: new MsMaps.Color(1, 65, 255, 35), 
       strokeThickness: 3 
      }; 
      var routeShape = new MsMaps.Polyline(routePoints, routeOptions); 
      map.entities.push(routeShape); 
     } 

Jetzt versuche ich, Clustering zu implementieren, und ich bin in der Lage es wie unten zu tun:

enter image description here

Die rosa Stecknadeln die Cluster sind.

-Code für das Clustering ist wie folgt:

Microsoft.Maps.loadModule ("Microsoft.Maps.Clustering", function() {

   var clusterLayer = new Microsoft.Maps.ClusterLayer(pushpins); 
       map.layers.insert(clusterLayer); 

       clusterLayer.setPushpins(pushpins); 
       map.setView(viewOptions); 
       var maneuverPoints = this.model.get("maneuverPoints"); 
       if (maneuverPoints) { 
        var routePoints = []; 
        _.each(maneuverPoints, function (point) { 
         routePoints.push(new MsMaps.Location(point.latitude, point.longitude)); 
        }); 
        var routeOptions = { 
         strokeColor: new MsMaps.Color(1, 65, 255, 35), 
         strokeThickness: 3 
        }; 
        var routeShape = new MsMaps.Polyline(routePoints, routeOptions); 
        map.entities.push(routeShape); 
       } 

ich nicht in der Lage bin Clustering und Routing zu tun bei Gleichzeitig ist es möglich, beides gleichzeitig zu tun?

Antwort

0

Ihr Code ist nicht Routing nach dem Aussehen der Dinge, es ist einfach Route Linienpunkte und Rendern sie als eine Polylinie.Ich sehe nicht die Das Modul wird in Ihrem Code verwendet le, warum benutzt du nicht einfach das eingebaute Rendering? Sie können anpassen, wie es aussieht. Wenn Sie fortfahren, eine Polylinie zu verwenden, ziehen Sie in Betracht, sie zu einer Ebene hinzuzufügen. Dies erleichtert die spätere Verwaltung.

Das heißt, der Code, den Sie zur Verfügung gestellt haben, ist einfach Clustering und Zeichnen einer Polylinie. Das funktioniert gut, wenn ich dieses Szenario teste.

Gibt es einen Grund, warum Sie setPushpins in der Cluster-Schicht aufrufen? Sie haben beim Erstellen der Ebene die Pins bereits übergeben und müssen sie nicht erneut übergeben.