summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2016-07-13 14:05:20 +0300
committerBruno de Oliveira Abinader <bruno@mapbox.com>2016-07-13 16:19:28 +0300
commit1cb59e20c4cdb8c182ecb9d3fd2abd062f5cb4da (patch)
treecc4ac0ff5b8813c4411071c57c363ad994310e9a /platform
parent3dacbdd42ead4a9fd883837776584fcd8da91f81 (diff)
downloadqtlocation-mapboxgl-1cb59e20c4cdb8c182ecb9d3fd2abd062f5cb4da.tar.gz
[node] Added 'removeLayer' binding
Diffstat (limited to 'platform')
-rw-r--r--platform/node/src/node_map.cpp19
-rw-r--r--platform/node/src/node_map.hpp1
2 files changed, 20 insertions, 0 deletions
diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp
index 77d650e2e9..9a8941d790 100644
--- a/platform/node/src/node_map.cpp
+++ b/platform/node/src/node_map.cpp
@@ -60,6 +60,7 @@ NAN_MODULE_INIT(NodeMap::Init) {
Nan::SetPrototypeMethod(tpl, "addClass", AddClass);
Nan::SetPrototypeMethod(tpl, "addSource", AddSource);
Nan::SetPrototypeMethod(tpl, "addLayer", AddLayer);
+ Nan::SetPrototypeMethod(tpl, "removeLayer", RemoveLayer);
Nan::SetPrototypeMethod(tpl, "setLayoutProperty", SetLayoutProperty);
Nan::SetPrototypeMethod(tpl, "setPaintProperty", SetPaintProperty);
Nan::SetPrototypeMethod(tpl, "setFilter", SetFilter);
@@ -531,6 +532,24 @@ NAN_METHOD(NodeMap::AddLayer) {
nodeMap->map->addLayer(std::move(*layer));
}
+NAN_METHOD(NodeMap::RemoveLayer) {
+ using namespace mbgl::style;
+ using namespace mbgl::style::conversion;
+
+ auto nodeMap = Nan::ObjectWrap::Unwrap<NodeMap>(info.Holder());
+ if (!nodeMap->map) return Nan::ThrowError(releasedMessage());
+
+ if (info.Length() != 1) {
+ return Nan::ThrowTypeError("One argument required");
+ }
+
+ if (!info[0]->IsString()) {
+ return Nan::ThrowTypeError("First argument must be a string");
+ }
+
+ nodeMap->map->removeLayer(*Nan::Utf8String(info[0]));
+}
+
NAN_METHOD(NodeMap::SetLayoutProperty) {
using namespace mbgl::style;
using namespace mbgl::style::conversion;
diff --git a/platform/node/src/node_map.hpp b/platform/node/src/node_map.hpp
index d64d58013d..5090b0aedc 100644
--- a/platform/node/src/node_map.hpp
+++ b/platform/node/src/node_map.hpp
@@ -28,6 +28,7 @@ public:
static NAN_METHOD(AddClass);
static NAN_METHOD(AddSource);
static NAN_METHOD(AddLayer);
+ static NAN_METHOD(RemoveLayer);
static NAN_METHOD(SetLayoutProperty);
static NAN_METHOD(SetPaintProperty);
static NAN_METHOD(SetFilter);