0

我正在尝试ol3 geocoder在我的项目中添加控件。我已经设置了修复缩放级别,它在 Mozilla 中工作,并且它具有适当的缩放级别,但在谷歌浏览器中它不起作用。它采用深度放大级别的位置。我必须缩小以检查周围的地方。

var geocoder = new Geocoder('nominatim', {
      provider: 'google',
      key:' AIzaSyClQ0GOW55zhw4PvFh73FyGLHdSd4bJfpM',
      lang: 'en',
      placeholder: 'Search Location...',
      limit: 5,
      keepOpen: true,
      autoComplete: true,
    });
    map.addControl(geocoder);


    //Listen when an address is chosen
    geocoder.on('addresschosen', function(evt){

      var
        feature = evt.feature,
        coord = evt.coordinate,
        address_html = feature.get('address_html');
      content.innerHTML = '<p>'+address_html+'</p>';


      if (coord) {
          //alert("if--");
          map.getView().setZoom(7);

          overlay.setPosition(coord);
        } else {

         map.getView().setZoom(8);
          overlay.setPosition(coord);
    }

    });
4

1 回答 1

0

使用最新版本的地理编码器(3.0.1)时,您似乎可以在函数内设置缩放级别。当我切换到新版本时,我遇到了同样的问题,但我玩了一下,发现它完美地像这样工作:

geocoder.on('addresschosen', function (evt) {
    window.setTimeout(function () {
        view.setZoom(12);
        popup.show(evt.coordinate, evt.address.formatted);
    }, 1000);
});

显然,使用您喜欢的任何缩放值。

于 2018-03-19T22:13:18.110 回答