if ($auth_method == 'OAuth') { _wl(' using OAuth auth with consumerKey="' . $auth_oauth_consumer_key . '"'); $oauth = new OSM_Auth_OAuth($auth_oauth_consumer_key, $auth_oauth_consumer_secret); $oauth->setToken($auth_oauth_token, $auth_oauth_secret); $osmApi->setCredentials($oauth); } } // http://www.openstreetmap.org/api/0.6/node/1326928399 $xmlQuery = ' <osm-script> <query type="node"> <has-kv k="name" v="Castel Fleuri"/> <has-kv k="tourism" v="hotel"/> <has-kv k="addr:street" v="Rue Groison"/> <has-kv k="addr:city" v="Tours"/> </query> <print/> </osm-script> '; $osmApi->queryOApi($xmlQuery); $nodes = $osmApi->getNodes(); _assert(count($nodes) == 1); $tagName = 'yapafo.net::test::oapi'; if (($node = $nodes[0]->getTag($tagName)) != null) { $nodes[0]->removeTag($tagName); } else { $nodes[0]->addTag($tagName, '123'); } $osmApi->saveChanges('Cyrille37 test'); $time_end = microtime(true); _wl('Test well done in ' . number_format($time_end - $time_start, 3) . ' second(s).');
// http://api06.dev.openstreetmap.org/api/0.6/relation/500 // http://api06.dev.openstreetmap.org/api/0.6/way/8184 // http://api06.dev.openstreetmap.org/api/0.6/node/611571 // get a node $node = $osmApi->getNode('611571'); // add a tag $tagName = 'yapafo.net::test::' . time(); $tagValue = 'Have a nice dev ;-)'; $node->addTag(new OSM_Objects_Tag($tagName, $tagValue)); $tags = $node->findTags(array($tagName => $tagValue)); _assert(count($tags) == 1); _assert($node->hasTags(array($tagName => $tagValue))); // save changes _assert($node->isDirty()); _wl(' saving changes...'); $osmApi->saveChanges('A yapafo.net test'); _assert($node->isDirty()); $tags = $node->findTags(array($tagName => $tagValue)); _assert(count($tags) == 1); _assert($node->hasTags(array($tagName => $tagValue))); // remove then reload object to get real changes $osmApi->removeObject(OSM_Api::OBJTYPE_NODE, '611571'); $node = $osmApi->getNode('611571'); $tags = $node->findTags(array($tagName => $tagValue)); _assert(count($tags) == 1); _assert($node->hasTags(array($tagName => $tagValue))); // test a node's tag modification $tagName = 'yapafo.net::test::modify'; $tagValue = '1'; $osmApi->removeAllObjects(); $node = $osmApi->getNode('611571');