Tôi đã theo dõi hướng dẫn này: http://workshop.pgrouting.org/ch chương / geoext_client.html#select-the-start-and-final-destination
Nó chứa một điều khiển Openlayers.Control.DrawFeatures được xác định trong mẫu mã sau. Bạn cũng có thể thấy các dòng mà tác giả bình luận "nếu chúng ta muốn áp dụng một phong cách đặc biệt cho điểm bắt đầu, chúng ta nên làm điều này ở đây" . Vấn đề là: Tôi không biết cách áp dụng một kiểu trong cài đặt này và không thể tìm thấy bất kỳ ví dụ nào sử dụng điều khiển DrawFeatures theo cách này.
Làm cách nào để điểm bắt đầu sử dụng một kiểu khác với điểm kết thúc bằng cách sử dụng điều khiển DrawFeatures này?
DrawPoints = OpenLayers.Class(OpenLayers.Control.DrawFeature, {
// this control is active by default
autoActivate: true,
initialize: function(layer, options) {
// only points can be drawn
var handler = OpenLayers.Handler.Point;
OpenLayers.Control.DrawFeature.prototype.initialize.apply(
this, [layer, handler, options]
);
},
drawFeature: function(geometry) {
OpenLayers.Control.DrawFeature.prototype.drawFeature.apply(
this, arguments
);
if (this.layer.features.length == 1) {
// we just draw the startpoint
// note: if we want to apply a special style to the
// start point we should do this here
} else if (this.layer.features.length == 2) {
// we just draw the finalpoint
// note: if we want to apply a special style to the
// final point we should do this here
// we have all what we need; we can deactivate ourself.
this.deactivate();
}
}
});