0

OSM API は初めてです。(ストリートマップを開く)

現在、OpenLayers でベクターを選択 (または強調表示) するソリューションを探しています。つまり、ユーザーの場所を設定しようとしています。そのユーザーは、地図 (特定の場所) をクリックして自分の場所を指定し、それらの経度と緯度を操作する必要があります。

JS私が試したコード

 function showVehicleMap(){      

        ltArray = document.getElementById('deviceMonitorRightPaneForm:lat').value.split(",");
        lgArray = document.getElementById('deviceMonitorRightPaneForm:lon').value.split(",");                
        directionArray = document.getElementById('deviceMonitorRightPaneForm:direction').value.split(",");                

        map = createMap("deviceMap");    

        for(var i=0;i<ltArray.length;i++)
        {                                   
            var lonLat = new OpenLayers.LonLat( lgArray[i] ,ltArray[i] ).transform(               
                new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
                map.getProjectionObject() // to Spherical Mercator Projection
                );                
            pointsArray.push(lonLat);
        }
        //prepare mid point
        var latAvg = document.getElementById('deviceMonitorRightPaneForm:latAvg').value;
        var lonAvg = document.getElementById('deviceMonitorRightPaneForm:lonAvg').value;
        var midpoint       = new OpenLayers.LonLat(lonAvg,latAvg).transform( fromProjection, toProjection);

        //create Marker
        var markers = new OpenLayers.Layer.Markers( "Markers" );
        map.addLayer(markers);
        //prepare list of markers
        markers = addMarkersByDirection(markers, pointsArray, directionArray);        

        map.zoomToExtent(markers.getDataExtent());
        map.setCenter (midpoint, 9);    

    //
    /* ]]> */   
    }

どうすればそれを達成できますか?

4

1 に答える 1