Giter VIP home page Giter VIP logo

cesium-drawhelper's Introduction

cesium-drawhelper

DrawHelper: A very early stage shape editor for Cesium. Currently limited to 2D and simple shapes.

Cesium version: Tested against Cesium v1.0.

License: Apache 2.0. Free for commercial and non-commercial use. See LICENSE.md.

Usage:

Import the DrawHelper.js, DrawHelper.css and /img/ image files into your directory. Add script and css files to your page.

Instantiate a drawHelper passing it the CesiumWidget.

You can:

  • use the self contained drawing widget by calling the drawHelper.addToolbar(container, options). This will add a drawing toolbar to the specified container. Options are for personalising the display of the shapes. The toolbar issues one creation event per shape created. You can listen to those events by calling the addListener method.
  • use the startDrawXXX methods of DrawHelper to create shapes interactively
  • enable editing of your primitives (at the moment Billboard, Polygon, ExtentPrimitive, DrawHelper.CirclePrimitive, DrawHelper.EllipsePrimitive and DrawHelper.PolylinePrimitive) by calling their setEditable method.

The toolbar can be customised at creation by passing an option object.

Check the index.html example to get started.

Check the website http://pad.geocento.com/DrawHelper/ for a live version.

Future versions will include shape dragging, scaling and rotation and support for hierarchical polygon editing.

cesium-drawhelper's People

Contributors

danwild avatar dmay31 avatar leforthomas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cesium-drawhelper's Issues

scene.camera.pickEllipsoid is not a function

When I try to host the cesium-drawhelper-master directory in IIS I can load the page fine but when I click on any off the tool icon it says: scene.camera.pickEllipsoid is not a function

How to set Clamp To Ground?

How to set "CLAMP_TO_GROUND" option for circle and polygons like:

heightReference: Cesium.HeightReference.CLAMP_TO_GROUND

OR

height: Cesium.HeightReference.CLAMP_TO_GROUND

Zoom to created object

I want to zoom in on objects created by the ' DrawHelper ' .
I managed to do with the rectangle by :
oViewer.camera.flyTo({
destination : new Cesium.Rectangle(oTargetEntity.getExtent().west, oTargetEntity.getExtent().south, oTargetEntity.getExtent().east, oTargetEntity.getExtent().north)
});
with 'oTargetEntity' is the object returned after drawing he object.

But for other things, I was not able to recover their limits below to zoom (polygon, circle, line).

Self-Intersecting Polygon

When trying to draw a self-intersecting polygon (e.g. an hourglass shape) nothing happens. The shape is not drawn and there is no error.

Toolbar not showing up in Cesium b29

I included the Drawhelper.js the img folder and the index file (renamed index2.html so as not to inerfere with Cesiums index file) but the Toolbar isn't showing up on the index file. Is this version compatible with b29 if not are you planning to update to make it compatible?

Cesium Crashing -- 'Property of 1 not found for undefined' in DrawHelper.js:249

I am experiencing a halting of rendering for Cesium at seemingly random times due to the following line in DrawHelper.js:

DrawHelper.js:249: lineWidth : Math.min(this.strokeWidth || 4.0, context._aliasedLineWidthRange[1])

I commented out the line and the error appears to have gone away and I don't see any changes reflected in the appearance of Cesium.

What is this line being used for? I am confused as to why it would be throwing an error that would prompt Cesium to crash.

Logging box not showing correct points

I want to know where in the code the points for the Logging toolbar are generated. I want it to display the Lat/Long in Degrees of the point for the Billboards and for the Polygon/Lines. I changed what shows up in the tooltip to do so. But I can figure out where those Positions are being generated for the logging message

Rotate Toolbar

I just wanted to know if there was a way to rotate the toolbar horizontally?

polylines and polygons created with extra 2 points

When you create a polyline or polygon there's extra 2 points in the end. I think it's because of Cesium that catches the double click as a regular left click AND double click. but i still don't know how it explain the second extra point.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.