Leaflet JS Libraryにローカル検索機能を追加しようとしていますが、これまで使用したことがないので、どうすればよいかわかりません。ズームコントロールがどのように機能するかを複製したので、この追加機能を追加しました。
L.Control.LocalSearch = L.Class.extend({
onAdd: function (a) {
this._map = a,
this._container = L.DomUtil.create("div", "leaflet-control-zoom"),
this._localSearch = this._createSearch(leafletmapsmarker_L10n.search_form, "leaflet-control-zoom-in", this._map.zoomIn, this._map),
this._container.appendChild(this._localSearch)
},
getContainer: function () {
return this._container
},
getPosition: function () {
return L.Control.Position.BOTTOM_LEFT
},
_createSearch: function (a, b, c, d) {
var e = document.createElement("a");
return e.href = "#",
e.title = a,
e.className = b,
L.Browser.touch || L.DomEvent.disableClickPropagation(e),
L.DomEvent.addListener(e, "click", L.DomEvent.preventDefault),
L.DomEvent.addListener(e, "click", c, d),
e
}
そして、次のようにこれを開始しました:
_initControls: function () {
this.options.searchControl && this.addControl(new L.Control.LocalSearch), this.options.zoomControl && this.addControl(new L.Control.Zoom), this.options.attributionControl && (this.attributionControl = new L.Control.Attribution, this.addControl(this.attributionControl))
},
したがって、基本的に、検索の機能を追加する方法を理解する必要があります。たぶん私はこれについて間違った方法で進んでいますが、ネット上でこれに関する多くの情報を見つけることができないので、誰かがこれについて私を助けることができますか?