2015-10-05 2 views

ответ

1

Реестр dragstart запись и запись latLng верхнего левого и нижнего правого map углов. Используйте их для вычисления 100% видимой высоты и ширины, а затем используйте это значение, чтобы получить 10% видимой высоты и ширины.

Зарегистр. dragend и запись новых latLng из левого верхнего и нижнего правого угла map углов. Substract new lat и lng из старых, чтобы посмотреть, сколько вы двигались.

Сравните этот шаг до 10% стоимости:

var latUp; 
var lngUp; 
var latDown; 
var lngDown; 

google.maps.event.addListener(map, "dragstart", function() { 
    latUp = map.getBounds().getNorthEast().lat(); 
    lngUp = map.getBounds().getNorthEast().lng(); 
    latDown = map.getBounds().getSouthWest().lat(); 
    lngDown = map.getBounds().getSouthWest().lng(); 
}); 

google.maps.event.addListener(map, "dragend", function() { 
    var latUpNew = map.getBounds().getNorthEast().lat(); 
    var lngUpNew = map.getBounds().getNorthEast().lng(); 
    var latDownNew = map.getBounds().getSouthWest().lat(); 
    var lngDownNew = map.getBounds().getSouthWest().lng(); 

    var tenPercentLat = Math.abs(latUp - latDown)/10; 
    var tenPercentLng = Math.abs(lngUp - lngDown)/10; 
    var moveLat = Math.abs(latUp - latUpNew); 
    var moveLng = Math.abs(lngUp - lngUpNew); 

    if (tenPercentLat < moveLat || tenPercentLng < moveLng){ 
     console.log('greather than 10 percent move!'); 
    } 
    else{ 
     console.log('less than 10 percent move!'); 
    } 
}); 

Демо: http://jsfiddle.net/4mtyu/688/

Смежные вопросы