Ce que j'essaie de faire est d'essayer de calculer SW, NE d'emplacements donnés, puis delta avec l'emplacement du centre de l'utilisateur. ce qui se traduira par fitbounds tous les emplacements et l'emplacement de l'utilisateur dans le centre.Java/Javascript Calculer les raccordements SW/NE avec l'emplacement de l'utilisateur au centre
mais malheureusement, il ne fonctionne pas une suggestion rapide?
public void calculateMapFitBounds(GeoLocation userLocation, List<GeoLocation > contents, Map<String, GeoLocation> latlngBounds){
//SW
double minLat = userLocation.getLatitude();
double minLng = userLocation.getLongitude();
//NE
double maxLat = -9999;
double maxLng = -9999;
for(GeoLocation content: contents){
/*
* Populating Top left cordinate (SW)
*/
minLat = Math.min(minLat, content.getLatitude());
minLng = Math.min(minLng, content.getLongitude());
/*
* Populating Bottom right cordinate (NE)
*/
maxLng = Math.max(maxLng, content.getLongitude()) ;
maxLat = Math.max(maxLat, content.getLatitude());
}
/*
* Calculating Delta fit bounds
*/
double latDelta = Math.max(Math.abs(minLat - userLocation.getLatitude()), Math.abs(maxLat-userLocation.getLatitude()));
double lngDelta = Math.max(Math.abs(maxLng - userLocation.getLongitude()), Math.abs(minLng - userLocation.getLongitude()));
//Calculating SW
minLat = userLocation.getLatitude()+ latDelta;
minLng = userLocation.getLongitude()+ lngDelta;
latlngBounds.put("swLatLng", new GeoLocation(minLat, minLng));
//Calculating NE
maxLat = userLocation.getLatitude()- latDelta;
maxLng = userLocation.getLongitude()-lngDelta;
latlngBounds.put("neLatLng", new GeoLocation(maxLat, maxLng));
}
plus tard javascript je veux utiliser comme suit
var swLatLn = new google.maps.LatLng($!swLatLng.latitude, $!swLatLng.longitude, false);
var neLatLn = new google.maps.LatLng($neLatLng.latitude, $neLatLng.longitude, false);
var bounds = new google.maps.LatLngBounds(swLatLn, neLatLn);
googleMap.fitBounds(bounds);
Dans quel sens est-il "ne fonctionne pas"? Ne pas compiler, donner une erreur d'exécution, donner des résultats inattendus, ou ...? Est-ce la partie Java qui ne fonctionne pas ou la partie JavaScript? (Ou les deux?) Le JavaScript semble invalide, en particulier vous ne pouvez pas avoir des points d'exclamation dans les noms de variables comme vous l'avez fait avec '$! SwLatLng'. – nnnnnn
affichant la terre entière –
$ indique que j'utilise des vues de vitesse –