Mapserver: пытается сделать карту с аннотацией / меткой

Я пытаюсь сделать изображение с помощью MapServer, который отображает только один слой с меткой. Я написал следующий файл карты:

MAP
NAME "TextLayer"IMAGETYPE PNG
EXTENT -180 -90 180 90
IMAGECOLOR 0 0 255
PROJECTION
"init=epsg:4269"END
WEB
METADATA
"ows_title" "WMS service""ows_onlineresource"    "XXX.XXX.XXX.XXX""ows_enable_request"    "*""ows_crs" "EPSG:4269"END
END
LAYER
NAME "labellayer"STATUS ON
TYPE POINT
FEATURE
POINTS 100 100 END
TEXT "The text on the image"END
CLASS
LABEL
SIZE 8
ANTIALIAS true
COLOR 255 0 0
POSITION cc
END
END
END
END

Я генерирую изображение с помощью PHP с помощью ms_newMapObjFromString (). Тем не менее, все, что я получаю, это прозрачное изображение без текста. Что мне не хватает?

РЕДАКТИРОВАТЬ:
PHP-код:

public function PrintImage($request, $mapFileString)
{
$mapServer_MapObject = ms_newMapObjFromString($mapFileString);

ms_ioinstallstdouttobuffer();

$mapServer_MapObject->owsdispatch($request);

$contenttype = ms_iostripstdoutbuffercontenttype();

ms_iostripStdoutBufferContentType();

//If content type is 'image/png' the image is succesfully requested -> show the image
if($contenttype == "image/png")
{
header('Content-type: image/png');

echo ms_iogetstdoutbufferbytes();
}
//Else an error occured -> show the error
else
{
header('Content-type: xml');

echo ms_iogetstdoutbufferstring();
}
}

$ MapFileString — строка, опубликованная выше.

0

Решение

Экстент вашей карты не соответствует используемой вами проекции. Вы, вероятно, имеете в виду проекцию EPSG: 4326, потому что -180 -90 180 90 — максимальное расширение этой проекции.

Другая проблема заключается в том, что ваша точка (POINTS 100 100) находится за пределами запрошенной вами ограничительной рамки (EXTENT -180 -90 180 90)
Попробуйте поставить точку в центре изображения с помощью

POINTS 0 0

PS: если не получится, выложи свой php код

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]