Esto funcionó usando un detector de mouse y la clase CrosshairOverlay. Después de que regrese del viaje de vacaciones, publicaré mi código. Terminó siendo no demasiado difícil.
Disculpa, se me olvidó esto.
En primer lugar, desea calcular los valores x, y para el lugar donde desea su punto de mira. Para mí, quería que se moviera a lo largo de los puntos de nuestra línea, así que calculé el valor x más cercano y usé ese par de datos para x, y.
Entonces llama a este método:
protected void setCrosshairLocation(double x, Double y) {
Crosshair domainCrosshair;
List domainCrosshairs = crosshairOverlay.getDomainCrosshairs();
if (domainCrosshairs.isEmpty()) {
domainCrosshair = new Crosshair();
domainCrosshair.setPaint(BlueStripeColors.LIGHT_GRAY_C0);
crosshairOverlay.addDomainCrosshair(domainCrosshair);
}
else {
// We only have one at a time
domainCrosshair = (Crosshair) domainCrosshairs.get(0);
}
domainCrosshair.setValue(x);
if (y != null) {
Crosshair rangeCrosshair;
List rangeCrosshairs = crosshairOverlay.getRangeCrosshairs();
if (rangeCrosshairs.isEmpty()) {
rangeCrosshair = new Crosshair();
rangeCrosshair.setPaint(BlueStripeColors.LIGHT_GRAY_C0);
crosshairOverlay.addRangeCrosshair(rangeCrosshair);
}
else {
// We only have one at a time
rangeCrosshair = (Crosshair) rangeCrosshairs.get(0);
}
rangeCrosshair.setValue(y);
}
}
Tenga en cuenta que crosshairOverlay es una instancia de CrosshairOverlay.
Podría publicar su código PLZ aquí? –