У меня есть два наложения в моем приложении openstreetmap: наложение Itemized и наложение Path вместе. Я хочу предоставить щелчок внутри пути внутри наложения пути и пользовательского маркера
Щелкните внутри пути в Openstreetmap.
comment
Вы забыли упомянуть свой фреймворк.
- person scai   schedule 02.03.2015
Ответы (2)
Недоступно с PathOverlay. Используйте полилинию OSMBonusPack.
Если вы просто хотите открыть всплывающее окно, используйте setInfoWindow.
Если вы хотите сделать что-то еще, наследуйте от класса Polyline, переопределите onSingleTapConfirmed и используйте isCloseTo.
person
MKer
schedule
17.03.2015
Наконец-то я получил ответ на вопрос выше...
* Добавить все наложения путей в один слой... * В одном касании проверьте isPointOnLine (lox, loy, ltx, lty, x, y)
public boolean isPointOnLine(double lox, double loy, double ltx, double lty, double x, double y) { // определить, находится ли точка на прямой Double dx = x - lox; Двойной ды = у - лой; двойной тх = лтх - локх; Двойной ти = лти - лой;
// normalise the line vector
Double t1 = new Double(1 / Math.sqrt(tx * tx + ty * ty));
tx *= t1;
ty *= t1;
// calculate inverse length of secondary vector
Double dl = new Double(1 / Math.sqrt(dx * dx + dy * dy));
// take dot product of normalised line vector, and rotated normalised
// secondary vector
Double dot = (dy * tx - dx * ty) * dl;
// Increase these values for less or more picky
if (dot < -0.2 || dot > 0.2)
return false;
// calculate distance along line segment by taking dot product of
// normalised
// line vector and un-normalised secondary vector
Double dis = tx * dx + ty * dy;
if (dis < 0 || dis > 1 / t1)
return false;
return true;
}
person
Bibin k jose
schedule
18.03.2015