2015-07-30 4 views
2

Прежде всего, вопрос вы собираетесь читать, я использовал этот фрагмент кода, чтобы выделить свой полигон: Highlight polygon and tint rest of map using Google MapsGoogle карта полигона с внешней картой тонированное

Вот мой код (это Угловое):

var boundaries   = []; 

// big area 
var overlay    = [ 
    new $rootScope.googleApi.LatLng(80.0, -90.0), 
    new $rootScope.googleApi.LatLng(-60.0, -90.0), 
    new $rootScope.googleApi.LatLng(-60.0, 90.0), 
    new $rootScope.googleApi.LatLng(80.0, 90.0) 
]; 

// my polygon 
angular.forEach(settings_boundaries, function(val, key) { 
    boundaries.push(new $rootScope.googleApi.LatLng(val[1], val[0])); 
}); 

// create a polygon with overlay first 
var poly = new $rootScope.googleApi.Polygon({ 
    paths: [overlay, boundaries], 
    strokeColor: "blue", 
    strokeWeight: "1", 
    fillColor: "black", 
    fillOpacity: 0.4, 
    clickable: false 
}); 

poly.setMap(interactiveMap); 

Теперь реальная проблема, Если я использую эти координаты (которые я не помню, как я получил их в первую очередь):

[[1.6101837158203125,49.00274483644452], 
[1.6294097900390625,49.01175312475694], 
[1.5947341918945312,48.98787759766659], 
[1.6101837158203125,49.00274483644452]] 

Все работает нормально (как вы можете видеть here).

Но если я использую эти из них:

[[1.6809940338134766,48.98337149775796], 
[1.6791915893554688,48.96849847697763], 
[1.7185020446777344,48.995199140974066], 
[1.6809940338134766,48.98337149775796]] 

Это не работает больше.
Как вы можете видеть here.

Я использовал этот сайт, чтобы генерировать координаты:
http://www.the-di-lab.com/polygon/ (вид screenshot)

Я искал в течение длительного времени, что может быть проблема, но у меня действительно не знаю. Это примерно одинаковые координаты. Первые значения lat, lon равны последним, для обоих из них.

Если у вас есть идеи (я думаю, что есть что-то особенное в координатах), я хотел бы знать!

Спасибо!

ответ

1

Структурно правильные координаты треугольника. Только геометрическое различие - первый треугольник (тот, который работает) тянется по часовой стрелке, а последний - против часовой стрелки. Я уже встречал такую ​​ситуацию, но я не помню, какой сайт. Затем попытайтесь изменить направление рисования треугольника таким образом:

 [[1.6809940338134766,48.98337149775796], 
    [1.7185020446777344,48.995199140974066] 
    [1.6791915893554688,48.96849847697763] 
    [1.6809940338134766,48.98337149775796]] 
+0

Я не знаю, как я не нашел тему StackOverflow с той же проблемой (и который уже имеет один и тот же ответ) учитывая время, которое я потратил, пытаясь решить проблему ... В любом случае, спасибо, теперь он работает! – Nanaki

+0

Я не знал этого ответа, сайт, на который я ссылался, не был ТАК. мои комментарии были получены из геометрического многоугольника полигона в области – scaisEdge

+0

Не работает для: 'var world = [ new google.maps.LatLng (90, 90), новый google.maps.LatLng (90, -90) , новый google.maps.LatLng (0, 90), новый google.maps.LatLng (0, -90), новый google.maps.LatLng (90, 90) ]; '' – sbrm1

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