Вот еще один пример, если у вас длинный и лат, в моем случае с использованием пакета данных Datatype Umbraco Google Map и вывода списка div с классом «map», например.
52.21454000000001,0.14044490000003407,13
мой JavaScript с помощью Google Maps API v3 на основе примеров Cultiv Razor
$('.map').each(function (index, Element) {
var coords = $(Element).text().split(",");
if (coords.length != 3) {
$(this).display = "none";
return;
}
var latlng = new google.maps.LatLng(parseFloat(coords[0]), parseFloat(coords[1]));
var myOptions = {
zoom: parseFloat(coords[2]),
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: false,
mapTypeControl: true,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL
}
};
var map = new google.maps.Map(Element, myOptions);
var marker = new google.maps.Marker({
position: latlng,
map: map
});
});
В конце раздела 3.3 есть объяснение.
Помимо сегментов точек в иерархических путях, сегмент пути считается непрозрачным в соответствии с общим синтаксисом . Приложения, создающие URI, часто используют зарезервированные символы , разрешенные в сегменте, для ограничения схемы -специфические или зависящие от обработчика разыменования подкомпоненты. Например, зарезервированные символы (";") и равенства ("=") являются часто используется для разделения параметров и значений параметров , применимых к этому сегменту. Зарезервированный символ запятой (",") часто используется для аналогичных целей. Например, один производитель URI может использовать такой сегмент, как "name; v = 1.1" , чтобы указать ссылку на версию 1.1 "name" , тогда как другой может использовать такой сегмент, как "name, 1.1", чтобы указать то же самое. Типы параметров могут определяться специфической для схемы семантикой , но в большинстве случаев синтаксис параметра зависит от реализации URI {{ 1}} алгоритм разыменования.
Другими словами, он зарезервирован для того, чтобы люди, которым нужен список с разделителями чего-либо в URL-адресе, могли безопасно использовать ;
в качестве разделителя, даже если части содержат ;
, поскольку пока содержимое закодировано в процентах.Другими словами, вы можете сделать это:
foo;bar;baz%3bqux
и интерпретировать его как три части: foo
, bar
, baz; qux
. Если бы точка с запятой не была зарезервированным символом, ;
и % 3b
были бы эквивалентны, поэтому URI был бы неправильно интерпретирован как четыре части: foo
, бар
, баз
, qux
.
Намерение более понятнее, если вы вернетесь к более старые версии спецификации:
path_segments = segment *( "/" segment )
segment = *pchar *( ";" param )
каждый сегмент пути может включать в себя последовательность параметров, обозначенных с запятой ";" персонаж.
Я считаю, что он имеет свое происхождение в FTP URI S.
Раздел 3.3 описывает это - это непрозрачный разделитель, который приложение, создающее URI, может использовать, если это удобно:
Помимо сегментов точек в { {1}} иерархических путей, сегмент пути считается непрозрачным в соответствии с общим синтаксисом . Приложения, создающие URI, часто используют зарезервированные символы , разрешенные в сегменте, для разграничения субкомпонентов , зависящих от схемы или обработчика разыменования . Например, зарезервированные символы (";") и равенства ("=") часто используются для разделения параметров и значений параметра , применимых к этот сегмент. Зарезервированный символ запятой (",") часто используется для аналогичных целей. Например, один производитель URI может использовать сегмент , например "name; v = 1.1 ", чтобы указать ссылку на версию 1.1 " name ", тогда как другой может использовать сегмент , такой как" name, 1.1 ", чтобы указать то же самое. Типы параметров могут быть определены семантикой конкретной схемы, но в большинстве случаев синтаксис параметра зависит от реализации URI Алгоритм разыменования .