123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- export function createRandomMarkers(switchLatLng=false){
- let latStart = 4833125
- let lngStart = 1430784
- let markersFromTo = []
- let markers = []
- for (let i=0; i<this.state.noOfMarkers; i++) {
- let latRandom = Math.floor((Math.random() * 1063))
- let latFrom = (latStart + latRandom) / 100000
- latRandom = Math.floor((Math.random() * 1063))
- let latTo = (latStart + latRandom) / 100000
- let lngRandom = Math.floor((Math.random() * 2533))
- let lngFrom = (lngStart + lngRandom) / 100000
- lngRandom = Math.floor((Math.random() * 2533))
- let lngTo = (lngStart + lngRandom) / 100000
- if(switchLatLng){
- markersFromTo.push({from: [lngFrom, latFrom], to: [lngTo, latTo]})
- markers.push([lngFrom, latFrom])
- }else{
- markersFromTo.push({from: [latFrom, lngFrom], to: [latTo, lngTo]})
- markers.push([latFrom, lngFrom])
- }
- }
- this.setState({markersFromTo: markersFromTo})
- this.setState({markers: markers})
- }
- export function calcMarkerPosition(){
- let noOfSteps = this.state.noOfSteps
- let currStep = this.state.currStep
- if (parseInt(currStep/noOfSteps)%2 === 0){
- currStep = currStep % noOfSteps
- } else{
- currStep = noOfSteps - (currStep % noOfSteps)
- }
- let markers = []
- for (let marker of this.state.markersFromTo){
- let latStart = marker.from[0]
- let lngStart = marker.from[1]
- let latEnd = marker.to[0]
- let lngEnd = marker.to[1]
- // markers.push([latStart, lngStart])
- // markers.push([latEnd, lngEnd])
- let latDiff = latEnd - latStart
- let lngDiff = lngEnd - lngStart
- let lat = latDiff / noOfSteps * currStep + latStart
- let lng = lngDiff / noOfSteps * currStep + lngStart
- markers.push([lat, lng])
- }
- this.setState({markers: markers})
- }
- export function changeSwitch(event){
- if(this.state.moveMarkers){
- clearInterval(this.timer);
- }else{
- this.timer = setInterval(() => {
- this.setState({currStep: this.state.currStep + 1});
- this.calcMarkerPosition()
- }, this.state.interval);
- }
- this.setState({moveMarkers: !this.state.moveMarkers})
- }
- export function setNoOfMarkers(event, switchLatLng=false){
- this.setState(
- {noOfMarkers: event.target.value, currStep: 0},
- () => {
- this.measurementsDiv.current.innerHTML = ""
- this.createRandomMarkers(switchLatLng)
- }
- )
- }
|