1 votos

Usar Ushahidi api en otro mapa usando openlayers

Tengo un despliegue ushahidi y estoy usando Openlayers + ushahidi api para mostrar los informes en un mapa separado junto con otras características.

he consultado los datos de ushahidi api y he creado una capa vectorial. la capa tiene datos pero no se muestran.

Esta parte obtiene los datos de ushahidi

var roadreportrequest = OpenLayers.Request.GET({
url: '../roadreport/api/?task=incidents',
async: false,
success: function(Request) {
    // alert("success");
    roadreportjson = JSON.parse(Request.responseText);
},
failure: function() {
    alert("failed to load data from roadrepoter");
    roadreportjson = {}
}

});

y esta parte la convierte en capa vectorial

var roadreport_vector = new OpenLayers.Layer.Vector('RoadReporter Reports');

for (incident_index in roadreportjson.payload.incidents) {
// console.log(incident_index, roadreportjson.payload.incidents[incident_index]);
incident = roadreportjson.payload.incidents[incident_index];
roadreport_vector.addFeatures([
    new OpenLayers.Feature.Vector(
        new OpenLayers.Geometry.Point(incident.incident.locationlongitude, incident.incident.locationlatitude),
        incident)
])
}
map.addLayer(roadreport_vector);

Hay datos en la capa, he comprobado la consola y este código para desplazar el mapa también funciona.

map.panTo(new OpenLayers.LonLat(roadreport_vector.features[2].geometry.x, roadreport_vector.features[2].geometry.y))

Mi problema es que espero que los datos se muestren como en el mapa (los círculos naranjas por defecto), pero no se muestran.

1voto

Brad8118 Puntos 1285

Se trataba de diferentes sistemas de proyección. Ushahidid almacena y devuelve los datos en el sistema wgs 84(EPSG;4326), mientras que el mapa estaba en el sistema mercator esférico (EPSG:900913).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X