diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-09-14 09:40:31 -0400 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-09-15 18:28:40 -0300 |
commit | 447d24bb198a44e9dbb25ba696c484fcd7873c42 (patch) | |
tree | b806530dc85a621a70f09141b57fa100bb3a7c7e /platform/node/src | |
parent | 45d07163eb3a52de3b959e4b5cd624e346d72ddb (diff) | |
download | qtlocation-mapboxgl-447d24bb198a44e9dbb25ba696c484fcd7873c42.tar.gz |
[node] Added 'removeSource'
Diffstat (limited to 'platform/node/src')
-rw-r--r-- | platform/node/src/node_map.cpp | 19 | ||||
-rw-r--r-- | platform/node/src/node_map.hpp | 1 |
2 files changed, 20 insertions, 0 deletions
diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp index d9e47ea998..9a7ebce445 100644 --- a/platform/node/src/node_map.cpp +++ b/platform/node/src/node_map.cpp @@ -53,6 +53,7 @@ void NodeMap::Init(v8::Local<v8::Object> target) { Nan::SetPrototypeMethod(tpl, "cancel", Cancel); Nan::SetPrototypeMethod(tpl, "addSource", AddSource); + Nan::SetPrototypeMethod(tpl, "removeSource", RemoveSource); Nan::SetPrototypeMethod(tpl, "addLayer", AddLayer); Nan::SetPrototypeMethod(tpl, "removeLayer", RemoveLayer); Nan::SetPrototypeMethod(tpl, "addImage", AddImage); @@ -547,6 +548,24 @@ void NodeMap::AddSource(const Nan::FunctionCallbackInfo<v8::Value>& info) { nodeMap->map->getStyle().addSource(std::move(*source)); } +void NodeMap::RemoveSource(const Nan::FunctionCallbackInfo<v8::Value>& info) { + 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->getStyle().removeSource(*Nan::Utf8String(info[0])); +} + void NodeMap::AddLayer(const Nan::FunctionCallbackInfo<v8::Value>& info) { 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 7bd3b99bea..c8e33bb347 100644 --- a/platform/node/src/node_map.hpp +++ b/platform/node/src/node_map.hpp @@ -45,6 +45,7 @@ public: static void Release(const Nan::FunctionCallbackInfo<v8::Value>&); static void Cancel(const Nan::FunctionCallbackInfo<v8::Value>&); static void AddSource(const Nan::FunctionCallbackInfo<v8::Value>&); + static void RemoveSource(const Nan::FunctionCallbackInfo<v8::Value>&); static void AddLayer(const Nan::FunctionCallbackInfo<v8::Value>&); static void RemoveLayer(const Nan::FunctionCallbackInfo<v8::Value>&); static void AddImage(const Nan::FunctionCallbackInfo<v8::Value>&); |