Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
18 / 23 / 18
Регистрация: 13.05.2016
Сообщений: 227

Небольшая реализации карты гугла

04.05.2017, 19:46. Показов 739. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите в какую сторону смотреть, что бы решить такое.

Подключил api google map
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebEvent;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import javax.swing.JButton;
import java.net.URL;
 
public class GoogleApp extends Application {
    private Scene scene;
    MyBrowser myBrowser;
    double lat;
    double lng;
    private Stage stage;
    public static void main(String[] args) {
       launch(args);
    }
    @Override
    public void start(Stage stage) throws Exception {
        stage.setTitle("");
        Button btn = new Button();
        btn.setText("'Hello World'");
        btn.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                System.out.println("Hello World!");
            }
        });
        Pane root = new Pane();
        btn.setLayoutX(250);
        btn.setLayoutY(220);
 
        myBrowser = new MyBrowser();
        Scene scene = new Scene(myBrowser);
        stage.setScene(scene);
       // stage.setScene(new Scene(root));
        root.getChildren().add(btn);
        //stage.setScene(new Scene(root, 1100, 600));
        this.stage = stage;
        stage.setWidth(1100);
        stage.setHeight(600);
        stage.show();
    }
    class MyBrowser extends Pane {
        WebView webView = new WebView();
        WebEngine webEngine = webView.getEngine();
        public MyBrowser() {
            final URL urlGoogleMaps = getClass().getResource("demo.html");
            webEngine.load(urlGoogleMaps.toExternalForm());
            webEngine.setOnAlert(new EventHandler<WebEvent<String>>() {
                @Override
                public void handle(WebEvent<String> e) {
                    System.out.println(e.toString());
                }
            });
            getChildren().add(webView);
            final TextField latitude = new TextField("" + 57.137987 * 1.00007);
            final TextField longitude = new TextField("" + 65.569558 * 1.00007);
            Button update = new Button("Перейти");
            update.setOnAction(new EventHandler<ActionEvent>() {
                @Override
                public void handle(ActionEvent arg0) {
                    lat = Double.parseDouble(latitude.getText());
                    lng = Double.parseDouble(longitude.getText());
                    System.out.printf("%.2f %.2f%n", lat, lng);
                    webEngine.executeScript("" +
                        "window.lat = " + lat + ";" +
                        "window.lng = " + lng + ";" +
                        "document.goToLocation(window.lat, window.lng);"
                    );
                }
            });
            Button btn = new Button();
            btn.setText("'Hello World'");
            btn.setOnAction(new EventHandler<ActionEvent>() {
                @Override
                public void handle(ActionEvent event) {
                    System.out.println("Hello World!");
                }
            });
            Pane root = new Pane();
            btn.setLayoutX(250);
            btn.setLayoutY(220);
            HBox toolbar  = new HBox();
            toolbar.getChildren().addAll(latitude, longitude, update,btn);
            getChildren().addAll(toolbar);
 
        }
    }
}
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Marker Labels</title>
    <style>
        html, body {
            height: 500px;
        }
        #map {
            height: 100%;
            margin-top: 30px;
        }
    </style>
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
    <script>
        var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
        var labelIndex = 0;
        var marker;
        function initialize() {
            var bangalore = { lat: 57.137987, lng:  65.569558 };
            var map = new google.maps.Map(document.getElementById('map'), {
                zoom: 15,
                center: bangalore
            });
            google.maps.event.addListener(map, 'click', function(event) {
                addMarker(event.latLng, map);
            });
            addMarker(bangalore, map);
            google.maps.event.addListener(map, "mousemove", function(event) {
                var lat = event.latLng.lat();
                var lng = event.latLng.lng();
                document.getElementById('sf').innerHTML ="<span style='font-weight:bold;'>X</span> - " +lat+" || <span style='font-weight:bold'>Y</span> - "+lng;
            });
        }
        function addMarker(location, map) {
           // marker && marker.setMap(null);
            marker = new google.maps.Marker({
                position: location,
                map: map,
                title:"Hello World!"
            });
        }
        google.maps.event.addDomListener(window, 'load', initialize);
    </script>
</head>
<body>
<div style="float: right;margin-top: -20px" id="sf"></div>
<div id="map"></div>
</body>
</html>
Саму карту реализовал, но нужно сделать так, что бы метки которые я поставил они сохранялись, и при загрузки программы, они все грузились. И при нажатие на метку по координаторам выводил некоторую информации.
На ум приходит базу сделать. Но проблема, в том, что не знаю как реализовать механизм. Такой, что при нажатие на метку, он бы оброщялся к базе и выводил по ней информацию.

Подскажите как такое реализовать
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2017, 19:46
Ответы с готовыми решениями:

Карты в региональном поиске Гугла и Яндекса
В Гугле при запросе некоторых фраз, содержащих названия крупных городов, перед основными результатами поиска показываются результаты поиска...

Отделение интерфейса от реализации класса: компиляция кода реализации
Доброго времени суток, У меня возникла проблема с отделением интерфейса от реализации класса. Допустим, у меня есть три файла: 1....

Сколькими способами из колоды (52 карты) можно выбрать 4 карты одной масти?
сколькими способами из колоды(52 карты) можно выбрать 4 карты одной масти? Можно найти общее число исходов, а дальше не знаю как,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2017, 19:46
Помогаю со студенческими работами здесь

Определить вероятность выпадения 4 дам, если из колоды в 32 карты взяли 4 карты
ЗАДАЧА 2: ИЗ 32 карт взяли 4 карты. Какова вероятность, что эти 4 карты все дамы ?

Вывести название карты, заданной двумя числами (достоинство и масть карты)
Здравствуйте , не могу понять как объявить переменные.. требуется же вроде как номер и имя(масть) не понимаю что-то.. помогите пожалуйста,...

Поиск дисконтной карты при считывании кода с магнитной карты
Добрый день. Конфигурация: Управление торговлей 10.3 Если в Чеке ККМ (или Реализации товаров и услуг) нажать на поле &quot;Дисконтная...

Ввести порядковый номер карты из колоды и вывести в консоль масть и достоинство карты
ввести порядковый номер карты из колоды и выводит в консоль масть и достоинство карты. Колода, начинается с двоек до туза, по очереди, для...

Есть номер банкоматовской карты. Как по одному номеру карты можно снять деньги?
Есть номер банкоматовской карты. Как по одному номеру карты можно снять деньги? Пин кода нет. Только номер карты Добавлено через 7...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор под наименованию группы (на. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru