Difference between revisions of "Linden Lab Official:Map API Reference"

From Second Life Wiki
Jump to navigation Jump to search
(Updated for version 2 of API)
 
(81 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== SLMap ==
{{Supported API}}
This class represents the map.
{{:API Portal/navigation|map}}
'''NOTE:''' See the [[Linden Lab Official:Map API Introduction#Release notes|Release Notes]] for information on new features and known issues.
__TOC__
<br clear="all"/>
== Global functions ==


=== Constructor ===
{| border="1" cellspacing="0" cellpadding="3" rules="all" class="apitable"
 
{{API Constructor|
SLMap (
HTMLElement container,
SLMapOptions options )
}}
 
Creates the map. The SLMapOptions argument is optional.
 
=== Methods ===
 
{| border="2" cellspacing="0" cellpadding="3" rules="all" class="apitable"
|- bgcolor="#A7C1F2"
|- bgcolor="#A7C1F2"
!valign="top"| Method
!valign="top"| Function
!valign="top"| Return Value
!valign="top"| Return Value
!valign="top"| Description
!valign="top"| Description


|-
|-
|valign="top" style="signature"|
|valign="top" class="signature"|
addMapWindow(  
SLMap(
MapWindow mapWindow,
[https://developer.mozilla.org/en/DOM/element HTMLElement] element)
XYPoint coord )  
|[[#Map|Map]]
|valign="top"| None
|Creates a new map inside the specified DOM element.
|valign="top"| Adds a MapWindow to the map at specified coordinate.  
 
|-
|-
|valign="top" style="signature"|
|valign="top" class="signature"|
addMarker(
gotoSLURL(
Marker marker,  
x Number,
MapWindow mapWindow )
y Number,
|valign="top"| None
[[#Map|Map]] lmap)
|valign="top"| Adds a marker. If the optional mapWindow argument is null, then clicking on the marker will not open a window.
|None
|Pans the map to display the specified inworld location.
|}


|-
== Objects ==
|valign="top" style="signature"|
clickMarker(
Marker marker)
|valign="top"| None
|valign="top"| Simulates a clicking a marker. Will recenter the pan if its not currently in the viewport of the map.


|-
=== Map ===
|valign="top" style="signature"|
This class is the Leaflet class that represents the map. For more information, see [http://leafletjs.com/reference-1.0.2.html#map the Leaflet Map reference].
disableDragging()
|valign="top"| None
|valign="top"| Disables all dragging on the map. Note: panning controls will still work.  


|-
{{API Constructor|  
|valign="top" style="signature"|
[http://leafletjs.com/reference-1.0.2.html#map Map] SLMap([https://developer.mozilla.org/en/DOM/element HTMLElement] container)
enableDragging()
}}
|valign="top"| None
|valign="top"| Re-enables dragging on the map if it was disabled.


Creates a Leaflet map configured to display a map of Second Life.


|-
The map is generated with a click event handler that calls '''gotoSLURL()''' to display a popup with a “Visit this location” link.
|valign="top" style="signature"|
enterAndZoomAtSLCoord(  
XYPoint coordinate,
int zoom)
|valign="top"| None
|valign="top"| Centers and zooms the map to the specified location.


|-
==== Useful Methods ====
|valign="top" style="signature"|
getCurrentZoomLevel()
|valign="top"| None
|valign="top"| Gets the current zoom level (1-6). See [http://secondlife.com/developers/mapapi/index.html#about_zoom about zoom levels].


|-
For other methods, see [http://leafletjs.com/reference-1.0.2.html#map-method the Leaflet Map methods reference].
|valign="top" style="signature"|
getMapCenter()
|valign="top"|XYPoint
|valign="top"| Returns the current map center. See [http://secondlife.com/developers/mapapi/index.html#about_coords about coordinates].


|-
{| border="1" cellspacing="0" cellpadding="3" rules="all" class="apitable"
|valign="top" style="signature"|
|- bgcolor="#A7C1F2"
getViewportBounds()
!valign="top"| Method
|valign="top"|Bounds
!valign="top"| Return Value
|valign="top"| Gets the viewport bounds. See [http://secondlife.com/developers/mapapi/index.html#about_coords about coordinates].
!valign="top"| Description


|-
|-
|valign="top" style="signature"|
|valign="top" class="signature"|
panDown()
[http://leafletjs.com/reference-1.0.2.html#map-setview setView](  
|valign="top"| None
[http://leafletjs.com/reference-1.0.2.html#latlng LatLng] center,
|valign="top"| Pans the map to the down by half its width.
Number zoom)
 
|valign="top"| [http://leafletjs.com/reference-1.0.2.html#map Map]
|-
|valign="top"| Centers and zooms the map to the specified location.  Argument zoom must be an integer value. Note that [http://leafletjs.com/examples/crs-simple/crs-simple.html#this-is-not-the-latlng-youre-looking-for a LatLng is a (Y, X) coordinate], so coordinates passed as ''center'' should be in (Y, X) order.
|valign="top" style="signature"|
|}
panLeft()
|valign="top"| None
|valign="top"| Pans the map to the left by 1/2 its width.
 
|-
|valign="top" style="signature"|
panOrRecenterToSLCoord(
XYPoint coord,  
Boolean recenter )  
|valign="top"| None
|valign="top"| Pans the map to the given coordinate if it is currently in the viewport (in the user's view). Otherwise, recenters the map to the given coordinate.  The optional recenter argument  specifies whether to center the given coordinate even it if is currently in the viewport. Its default value is false.
 
|-
|valign="top" style="signature"|
panRight()
|valign="top"| None
|valign="top"| Pans the map to the right by 1/2 its width.


|-
== Utility URLs ==
|valign="top" style="signature"|
These map helper functions are available from the caps server. The JSON-like results return text that Javascript could eval(), but scripts coming from outside should parse them the "hard" way for safety.
panUp()
|valign="top"| None
|valign="top"| Pans the map to the up by 1/2 its width.  


|-
=== Region name from global coordinates ===
|valign="top" style="signature"|
https<nowiki></nowiki>://cap.secondlife.com/cap/0/'''b713fe80-283b-4585-af4d-a3b7d9a32492'''?'''var'''=''varName''&'''grid_x'''=''xcoord''&'''grid_y'''=''ycoord''
removeAllMarkers() 
* '''var''' is arbitrary, for output formatting.
|valign="top"| None
* '''grid_x''' is the region's global x coordinate as an integer.
|valign="top"| Removes all markers.
* '''grid_y''' is the region's global y coordinate as an integer.


|-
'''Example'''
|valign="top" style="signature"|
https://cap.secondlife.com/cap/0/b713fe80-283b-4585-af4d-a3b7d9a32492?var=region&grid_x=1000&grid_y=1000
removeMarker(
:Returns: <pre>var region='Da Boom';</pre>
Marker marker) 
|valign="top"| None
|valign="top"| Removes a marker.


|-
=== Global coordinates from region name ===
|valign="top" style="signature"|
https<nowiki></nowiki>://cap.secondlife.com/cap/0/'''d661249b-2b5a-4436-966a-3d3b8d7a574f'''?'''var'''=''varName''&'''sim_name'''=''RegionName''
setCurrentZoomLevel(
* '''var''' is arbitrary, for output formatting.
int zoom)
* '''sim_name''' is a region on the Second Life map.
|valign="top"| None
|valign="top"| Sets the zoom level to specified zoom.  


|-
'''Example'''
|valign="top" style="signature"|
https://cap.secondlife.com/cap/0/d661249b-2b5a-4436-966a-3d3b8d7a574f?var=coords&sim_name=Da%20Boom
zoomIn()
:Returns: <pre>var coords = {'x' : 1000, 'y' : 1000 };</pre>
|valign="top"| None
|valign="top"| Zooms in on the map if the map is not already all the way zoomed in.
 
|-
|valign="top" style="signature"|
zoomOut()
|valign="top"| None
|valign="top"| Zooms out on the map if the map is not already all the way zoomed out.
|}

Latest revision as of 18:23, 13 December 2016

NOTE: This is an official Second Life API provided and documented by Linden Lab. Its use is subject to the API Terms of Use.

NOTE: See the Release Notes for information on new features and known issues.


Global functions

Function Return Value Description

SLMap( HTMLElement element)

Map Creates a new map inside the specified DOM element.

gotoSLURL( x Number, y Number, Map lmap)

None Pans the map to display the specified inworld location.

Objects

Map

This class is the Leaflet class that represents the map. For more information, see the Leaflet Map reference.

Constructor

Map SLMap(HTMLElement container)

Creates a Leaflet map configured to display a map of Second Life.

The map is generated with a click event handler that calls gotoSLURL() to display a popup with a “Visit this location” link.

Useful Methods

For other methods, see the Leaflet Map methods reference.

Method Return Value Description

setView( LatLng center, Number zoom)

Map Centers and zooms the map to the specified location. Argument zoom must be an integer value. Note that a LatLng is a (Y, X) coordinate, so coordinates passed as center should be in (Y, X) order.

Utility URLs

These map helper functions are available from the caps server. The JSON-like results return text that Javascript could eval(), but scripts coming from outside should parse them the "hard" way for safety.

Region name from global coordinates

https://cap.secondlife.com/cap/0/b713fe80-283b-4585-af4d-a3b7d9a32492?var=varName&grid_x=xcoord&grid_y=ycoord

  • var is arbitrary, for output formatting.
  • grid_x is the region's global x coordinate as an integer.
  • grid_y is the region's global y coordinate as an integer.

Example

https://cap.secondlife.com/cap/0/b713fe80-283b-4585-af4d-a3b7d9a32492?var=region&grid_x=1000&grid_y=1000
Returns:
var region='Da Boom';

Global coordinates from region name

https://cap.secondlife.com/cap/0/d661249b-2b5a-4436-966a-3d3b8d7a574f?var=varName&sim_name=RegionName

  • var is arbitrary, for output formatting.
  • sim_name is a region on the Second Life map.

Example

https://cap.secondlife.com/cap/0/d661249b-2b5a-4436-966a-3d3b8d7a574f?var=coords&sim_name=Da%20Boom
Returns:
var coords = {'x' : 1000, 'y' : 1000 };