Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Android
245 / 242 / 52
Регистрация: 19.01.2013
Сообщений: 1,896
Записей в блоге: 3
1

yandex карта

05.11.2013, 09:37. Показов 2750. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
используя http://devdelphi.ru/?p=957 , делаю прогу для нахождения точек в карте, но как мне сделать так чтобы и xml и html файлы были в ресурсах проги ? и как их вызывать в webbrowser ?

Добавлено через 10 минут
________________________________________________________________________________ _______________

как можно
загрузить javascript не из сервера а из переменной ?

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
 
<html>
 
<head>
    <title>Примеры. Метка</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script!!!!!!!!!!!!!!loadfromstream(peremennaya)!!!!!!!!!!!!!!!!!!! type="text/javascript"></script>
</head>
 
<body>
    <div id="map" style="width:400px; height:300px"></div>
</body>
 
</html>
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2013, 09:37
Ответы с готовыми решениями:

Yandex-карта: Скрипт сохраняет значение последнего указного места, а мне надо, чтобы он помнил все места
Всем доброе время суток. У меня есть форма реги в которой я вывожу карту yandex для того чтобы...

Yandex api.directory.yandex.net создание почтового ящика
Добрый день. Пишу скрипт для создания почтовых ящиков на Яндекс.Коннект с использованием API...

Чем отличается http://yandex.ru и buki.yandex.ru
В чем особенность буки, для чего он служить. Что хотели до нас донести работники яндекса.

В чем различие Yandex от XML.Yandex
Собственно сабж... и адд: Различия порой бывают существенные в СЕРПе Яндекса и если обращаться к...

2
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
05.11.2013, 11:44 2
Лучший ответ Сообщение было отмечено ILNAR_93 как решение

Решение

Цитата Сообщение от kaspersky Посмотреть сообщение
как мне сделать так чтобы и xml и html файлы были в ресурсах проги ? и как их вызывать в webbrowser ?
Как добавить ресурсы в программу и как их прочитать: Большой текст в Delphi. (Работа с ресурсами - примечание модератора Mawrat).

Чтобы загрузить HTML код в TWebBrowser из строки или из потока, можно использовать следующие функции:
1. Загрузка HTML кода из строки.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//Загрузка HTML документа из строковой переменной.
//Функция возвращает ссылку на интерфейс объекта документа.
function LoadHTMLFromString(aWb : TWebBrowser; const aStr : String) : Variant;
begin
  Result := aWb.OleObject.document;
  //Если объект документа оказался не созданным, то создаём его.
  if TVarData(Result).VDispatch = nil then begin
    //Создаём новый документ с пустым содержанием.
    aWb.Navigate('about:blank');
    Result := aWb.OleObject.document;
  end;
  //Загружаем в документ нужный HTML код из строковых данных.
  Result.open('text/html', 'replace');
  Result.write(aStr);
  Result.close;
end;
2. Загрузка HTML кода из потока.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//Загрузка HTML документа из потока.
//Функция возвращает ссылку на интерфейс объекта документа.
function LoadHTMLFromStream(aWb : TWebBrowser; aStream : TStream) : Variant;
var
  S : AnsiString;
begin
  Result := aWb.OleObject.document;
  //Если объект документа оказался не созданным, то создаём его.
  if TVarData(Result).VDispatch = nil then begin
    //Создаём новый документ с пустым содержанием.
    aWb.Navigate('about:blank');
    Result := aWb.OleObject.document;
  end;
  //Загружаем данные из потока в строку.
  SetLength(S, aStream.Size);
  aStream.Position := 0;
  aStream.Read(S[1], aStream.Size);
  //Загружаем в документ HTML код из строки.
  Result.open('text/html', 'replace');
  Result.write(S);
  Result.close;
end;
С учётом этого, загрузка HTML кода из ресурсов будет выглядеть так:
Delphi
1
2
3
4
5
6
7
var
  Rs : TResourceStream;
begin
  Rs := TResourceStream.Create(HInstance, 'имя ресурса', RT_RCDATA);
  LoadHTMLFromStream(WebBrowser1, Rs);
  FreeAndNil(Rs);
end;
2
Android
245 / 242 / 52
Регистрация: 19.01.2013
Сообщений: 1,896
Записей в блоге: 3
05.11.2013, 15:06  [ТС] 3
как использовать данный код в delphi ?? может кто уже сталкивался с этим??
если открывать в webbrowserе то нету меток на карте, а если открывать в мозила то выходят, почему так может быть ??(((


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
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<!DOCTYPE html>
 
<html>
 
<head>
    <title>Примеры. Собственный провайдер поиска.</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="//api-maps.yandex.ru/2.0/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
 
<script type="text/javascript">
function init() {
    var myMap = new ymaps.Map('map', {
            center: [55.7, 37.5],
            zoom: 9,
            behaviors: ['default', 'scrollZoom']
        }),
        // Создаем коллекцию.
        myCollection = new ymaps.GeoObjectCollection(),
        // Создаем массив с данными.
        myPoints = [
            { coords: [55.77, 37.46], text: 'Трактир' },
            { coords: [55.66, 37.48], text: 'Кафе' },
            { coords: [55.65, 37.42], text: 'Ресторан' },
            { coords: [55.64, 37.54], text: 'Музей' },
            { coords: [55.54, 37.52], text: 'Библиотека' },
            { coords: [55.53, 37.56], text: 'Школа' },
            { coords: [55.61, 37.61], text: 'Аптека' },
            { coords: [55.80, 37.58], text: 'Бар' },
            { coords: [55.71, 37.35], text: 'Институт' },
            { coords: [55.74, 37.57], text: 'Университет' },
            { coords: [55.58, 37.69], text: 'Больница' },
            { coords: [55.57, 37.70], text: 'Цирк' },
            { coords: [55.55, 37.64], text: 'Магазин' },
            { coords: [55.50, 37.75], text: 'Булочная' },
            { coords: [55.81, 37.73], text: 'Полиция' },
            { coords: [55.73, 37.68], text: 'Салон красоты' },
            { coords: [55.86, 37.76], text: 'Баня' },
            { coords: [55.38, 37.69], text: 'Гараж' },
            { coords: [55.91, 37.50], text: 'Дом' },
            { coords: [55.62, 37.32], text: 'Прачечная' },
            { coords: [55.85, 37.41], text: 'Стадион' },
            { coords: [55.67, 37.24], text: 'Вокзал' }
        ];
 
    // Заполняем коллекцию данными.
    myPoints.forEach(function (point) {
        myCollection.add(new ymaps.Placemark(
            point.coords, {
                balloonContentBody: point.text
            }
        ));
    });
 
    // Добавляем коллекцию меток на карту.
    myMap.geoObjects.add(myCollection);
 
    // Создаем экземпляр класса ymaps.control.SearchControl
    var mySearchControl = new ymaps.control.SearchControl({
            // Заменяем стандартный провайдер данных (геокодер) нашим собственным.
            provider: new CustomSearchProvider(myPoints),
            // Не будем показывать еще одну метку при выборе результата поиска,
            // т.к. метки коллекции myCollection уже добавлены на карту.
            noPlacemark: true,
            resultsPerPage: 5
        });
 
    // Добавляем контрол в верхний правый угол,
    myMap.controls
        .add(mySearchControl, { right: 10, top: 10 })
        .add('smallZoomControl');
}
 
 
// Провайдер данных для элемента управления ymaps.control.SearchControl.
// Осуществляет поиск геообъектов в по массиву points.
// Реализует интерфейс IGeocodeProvider.
function CustomSearchProvider(points) {
    this.points = points;
}
 
// Провайдер ищет по полю text стандартным методом String.ptototype.indexOf.
CustomSearchProvider.prototype.geocode = function (request, options) {
    var promise = new ymaps.util.Promise(),
        geoObjects = new ymaps.GeoObjectArray(),
        // Сколько результатов нужно пропустить.
        offset = options.skip || 0,
        // Количество возвращаемых результатов.
        limit = options.results || 20;
 
    this.points
        // Ищем в свойстве text каждого элемента массива.
        .filter(function (point) {
            return point.text.toLowerCase().indexOf(request.toLowerCase()) != -1;
        })
        // При формировании ответа можно учитывать offset и limit.
        .splice(offset, limit)
        // Добавляем точки в результирующую коллекцию.
        .forEach(function (point) {
            var coords = point.coords,
                text = point.text;
 
            geoObjects.add(new ymaps.Placemark(coords, {
                name: text + ' name',
                description: text + ' description',
                balloonContentBody: '<p>' + text + '</p>',
                boundedBy: [coords, coords]
            }));
        });
 
    promise.resolve({
        // Геообъекты поисковой выдачи.
        geoObjects: geoObjects,
        // Метаинформация ответа.
        metaData: {
            geocoder: {
                // Строка обработанного запроса.
                request: request,
                // Количество найденных результатов.
                found: geoObjects.getLength(),
                // Количество возвращенных результатов.
                results: limit,
                // Количество пропущенных результатов.
                skip: offset
            }
        }
    });
 
    // Возвращаем объект-обещание.
    return promise;
};
 
ymaps.ready(init);
 
 
</script>
</head>
 
<body>
    <div id="map" style="width:400px; height:300px"></div>
</body>
 
</html>
0
05.11.2013, 15:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2013, 15:06
Помогаю со студенческими работами здесь

yandex.ru/yandsearch vs. yandex.ru/yandpage
В чем отличие переходов с yandex.ru/yandsearch и с yandex.ru/yandpage ? Что-то в последнее...

yandex.ru/yandsearch и yandex.ru/search
По статистике LI траф всегда шел с yandex.ru/yandsearch, с 17 декабря появился новый источник трафа...

Правда ли, что в материнской плате уже встроена звуковая карта и сетевая карта?
У меня возник вопрос, говорят, что в материнской плате уже встроена звуковая карта и сетевая карта....

SD-карта. Как снять блокировку, если карта не блокировалась
Карта используется в фотике. Если стоит в фотике, то невозможно снимать, просматривать отснятое...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru