Как я могу предотвратить перетаскивание карт Google из верхней и нижней границ? [Дубликат]

Старый вопрос, но решение, которое я придумал, работает довольно хорошо, это немного небрежно (typecasting и slashes и все), но он работает.

Обратите внимание, что это использует fabric.api.local , чтобы сделать каталоги в месте назначения.

  def sftp_get_recursive (путь, dest, sftp = sftp): item_list = sftp.listdir (path) dest = str  (dest), если не os.path.isdir (dest): local ("mkdir% s"% dest) для item в item_list: item = str (item) if is_directory (путь + "/" + item, sftp): sftp_get_recursive  (path + "/" + item, dest + "/" + item, sftp) else: sftp.get (путь + "/" + item, dest + "/" + item)  
2
задан Riccardo Casatta 10 May 2014 в 13:04
поделиться

1 ответ

UPDATE. Следующий ответ больше не работает, я полагаю, это связано с обновлением API карт Google. Я оставляю код здесь для справки.

Благодаря комментариям geocodezip я изменил решение Майка Уильямса для моего случая.

Вот пример скрипта

Соответствующая часть кода:

google.maps.event.addListener(map, 'center_changed', function() {
    checkBounds(map);
});
// If the map position is out of range, move it back
function checkBounds(map) {

var latNorth = map.getBounds().getNorthEast().lat();
var latSouth = map.getBounds().getSouthWest().lat();
var newLat;

if(latNorth<85 && latSouth>-85)     /* in both side -> it's ok */
    return;
else {
    if(latNorth>85 && latSouth<-85)   /* out both side -> it's ok */
        return;
    else {
        if(latNorth>85)   
            newLat =  map.getCenter().lat() - (latNorth-85);   /* too north, centering */
        if(latSouth<-85) 
            newLat =  map.getCenter().lat() - (latSouth+85);   /* too south, centering */
    }   
}
if(newLat) {
    var newCenter= new google.maps.LatLng( newLat ,map.getCenter().lng() );
    map.setCenter(newCenter);
    }   
}
15
ответ дан Community 16 August 2018 в 01:47
поделиться
  • 1
    Для тех, кто также задавался вопросом, почему 85, см. latlongrid.gif . Плакат пытался ограничить область просмотра в пределах 85 градусов. – Alan Dong 16 March 2016 в 00:08
  • 2
    – Christian 20 June 2018 в 17:10
  • 3
    Кроме того, эта проблема, похоже, происходит в производстве; т.е. крупные компании имеют одинаковую проблему (например, foodora). Однако, maps.google.com не имеет poblem. – Christian 20 June 2018 в 17:13
  • 4
    не работайте, обновите свой ответ или удалите его – carlo denaro 27 June 2018 в 06:37
  • 5
    обновлено, спасибо – Riccardo Casatta 9 July 2018 в 14:38
Другие вопросы по тегам:

Похожие вопросы: