Как я могу отобразить Emojis на карте Openlayers 4? - PullRequest
0 голосов
/ 12 июня 2018

Мне сказали визуализировать эмоджи на карте openlayers 4.

Теперь я нашел несколько примеров использования пользовательских маркеров карты, но это не совсем соответствует моим потребностям.

Есть ли способ визуализации смайликов на карте openlayers 4?

Это тестовые данные, которые я использовал (GeoJSON):

 {
    features: [
        {
            type: 'Feature',
            id: '1016392629',
            geometry: {
                type: 'Point',
                coordinates: [6.0, 6.0]
            },
            properties: {
                text: '\u1F31E',
            }
        },
        {
            type: 'Feature',
            id: '-2026663018',
            geometry: {
                type: 'Point',
                coordinates: [0.0, 0.0]
            },
            properties: {
                text: '\u1F31E',
            }
        }
    ],
    type: 'FeatureCollection'
 }

и используя функцию стиля:

    style: (feature: Feature) => {
        const { font, textBaseline, fillColor } = this.options;
        const s: ol.style.Style = new ol.style.Style({
            text: new ol.style.Text({
                text: feature.getProperties().text,
                font,
                textBaseline,
                fill: new ol.style.Fill({
                    color: fillColor
                })
            }),
            zIndex: 1
        });

        return s;
    }

Но это только дает мне:

1 Ответ

0 голосов
/ 12 июня 2018

Emoji в JS состоит из двух символов.(UTF-16 должен быть представлен двумя кодами)

Итак, смайлик смайликов: '\uD83D\uDE00' = ?

Теперь ваши эмодзи, '\u1F31E' (Солнечный), будут: '\uD83C\uDF1E' = ?.

Читайте о суррогате свинца и суррогате свинца по адресу: medium.com: emojis-in-javascript

Простой Google находит мне онлайн-ресурсысопоставление смайликов по адресу: таблицы смайликов timwhitlock.info И вы можете проверить каждый символ timwhitlock.info осмотреть 1F31E

...