Я разрабатываю код JavaScript NativeScript для создания динамического текстового маркера для карт.У меня работает код, который создает маркер для конкретной строки.Мой следующий шаг - взять любую заданную строку, определить ее высоту и ширину в битах и создать маркер размером с текст.
Моя проблема заключается в поиске размера текста с учетом самой текстовой строки, размера шрифта и семейства шрифтов.
Похоже, что getMeasuredWidth может работать, за исключением того, что строка должна быть уже загружена на страницу, прежде чем эта функция вернет значение.В моем случае мне просто нужно вычислить размер;иначе текст не будет отображаться как таковой на странице (текст в маркере становится изображением).
Есть ли способ сделать это?
var bmp = BitmapFactory.create(200);
bmp.dispose(function (b) {
try {
b.drawRect(
"100,34", // size
'0,0', // upper-left coordinate
KnownColors.Black, // border color
KnownColors.Cornsilk // fill color
);
b.writeText(
"Parking",
"2,25",
{ color: KnownColors.Black, size: 8, name: 'fontawesome-webfont', });
...
В приведенном выше коде ширина "100" ограничивающего прямоугольника фактически представляет ширину в битах "парковки" с небольшим количеством отступов.То, что я хочу сделать, вычисляет высоту и ширину прямоугольника, а не жестко его кодирует.