# How to display a custom geometry in a 2D map?

**URL:** <https://community.cesium.com/t/how-to-display-a-custom-geometry-in-a-2d-map/8514>\
**Category:** CesiumJS\
**Created:** [August 5, 2019, 7:37am UTC](https://community.cesium.com/t/how-to-display-a-custom-geometry-in-a-2d-map/8514 "2019-08-05T07:37:23Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![11143](https://avatars.discourse-cdn.com/v4/letter/1/7cd45c/32.png) [@11143](https://community.cesium.com/u/11143)\
**Post date:** [August 5, 2019, 7:37am UTC](https://community.cesium.com/t/how-to-display-a-custom-geometry-in-a-2d-map/8514/1 "2019-08-05T07:37:23Z")

</div>

**1.对您遇到的问题的简要解释。**

I have a custom geometry that can be displayed normally in a 3D map. How do I do it to support it in a 2D state? Which matrices are used or how do you handle vertex data?

**2.一个最小的代码示例。如果您发现了错误，这有助于我们重现并修复它。**

Below is my vertex shader used in 3D maps

attribute vec3 position;\n\

attribute vec2 st;\n\

attribute vec3 normal;\n\

uniform mat4 modelViewMatrix;\n\

uniform mat3 normalMatrix;\n\

uniform mat4 projectionMatrix;\n\

varying vec3 v\_position;\n\

varying vec3 v\_normal;\n\

varying vec2 v\_st;\n\

\n\

varying vec3 v\_light0Direction;\n\

\n\

void main(void) \n\

{\n\

vec4 pos = modelViewMatrix \* vec4( position,1.0);\n\

v\_normal = normalMatrix \* normal;\n\

v\_st = st;\n\

v\_position = pos.xyz;\n\

v\_light0Direction = mat3( modelViewMatrix) \* vec3(1.0,1.0,1.0);\n\

gl\_Position = projectionMatrix \* pos;\n\

}"

**3.背景。你为什么需要这样做？我们可能知道更好的方法来实现您的目标。**

**4.您正在使用的Cesium版本，您的操作系统和浏览器。**
