import { AppLayout } from './AppLayout';
import logo from './img/cat.png';
import varlamov from './img/varlamov.png';
+import truePlaceIcon from './img/true-place-icon.png';
import { createMap } from './createMap';
import { GameController } from './GameController';
import { Notification } from './Notification';
import Button from '@skbkontur/react-ui/Button';
+import * as L from 'leaflet';
export class Game extends Component {
constructor(props) {
});
};
- onMapClick = (e) => {
+ onMapClick = (e, map) => {
this.gameController.tryFinish(`${e.latlng.lat}/${e.latlng.lng}`).then(json => {
+
+ var greenIcon = L.icon({
+ iconUrl: truePlaceIcon,
+
+ iconSize: [25, 41],
+ iconAnchor: [13, 41]
+ });
+
+
+ L.marker([e.latlng.lat, e.latlng.lng]).addTo(map);
+ L.polyline([[e.latlng.lat, e.latlng.lng], [json.data.right_coordinates[0], json.data.right_coordinates[1]]], {color: 'green'}).addTo(map);
+ L.polyline(json.data.route, {color: 'red'}).addTo(map);
+ L.marker([json.data.right_coordinates[0], json.data.right_coordinates[1]], {icon: greenIcon}).addTo(map);
+
this.notification.show(
'Игра закончена.',
- `Ð\9dеплоÑ\85аÑ\8f попÑ\8bÑ\82ка! Ð\92Ñ\8b оказалиÑ\81Ñ\8c по адÑ\80еÑ\81Ñ\83: ${json.data.address}, а пÑ\80омаÑ\85нÑ\83лиÑ\81Ñ\8c на ${Math.round(json.data.distance)} меÑ\82Ñ\80ов.`,
+ `Ð\9dеплоÑ\85аÑ\8f попÑ\8bÑ\82ка! Ð\92Ñ\8b оказалиÑ\81Ñ\8c по адÑ\80еÑ\81Ñ\83: ${json.data.address}, пÑ\80омаÑ\85нÑ\83лиÑ\81Ñ\8c на ${Math.round(json.data.distance)} меÑ\82Ñ\80ов и заÑ\80абоÑ\82али ${Math.round(json.data.score)} оÑ\87ков.`,
() => {
window.location = '/';
}
const map = new L.Map(elementId);
- map.on('click', onMapClick);
+ map.on('click', (e) => {onMapClick(e, map)});
const service = new L.tileLayer(
'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',