×

Discussion Board

Results 1 to 2 of 2

Hybrid View

  1. #1
    Registered User
    Join Date
    Jan 2013
    Posts
    1

    get more than 100 results using nokia maps api

    hi,

    I am using nokia maps nokia.places.search.manager.findPlaces and get maximum of 100 results.

    But i need unlimited results say around 500 or 1000. How can i get it?

    my nokia function:

    nokia.places.search.manager.findPlaces({ searchTerm: searchterm, searchCenter: lat,lng ,
    limit:100, didYouMean: 5 });

  2. #2
    Nokia Developer Moderator
    Join Date
    Aug 2011
    Location
    Berlin
    Posts
    288

    Re: get more than 100 results using nokia maps api

    findPlaces is a local search. Local searches are focused with results around a small area.
    The limit for a places search is currently 100 places, as places beyond a set distance are not considered relevant. Adding the limit parameter is no guarantee that you would find 100 relevant places within a given search area anyway.

    The trick here is not to attempt to make a request for 1000 results, but to use an observer and make a series of asynchronous requests for the closest 100 results as the focus of the map moves. Putting thousands of markers on any map would lead it to being unreadable, slow and unresponsive anyway.

    Try something like the following:
    Code:
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <!-- 
            Example from Nokia Maps API Playground, for more information visit http://api.maps.nokia.com
         -->
        <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
                <meta http-equiv="X-UA-Compatible" content="IE=7; IE=EmulateIE9"/>
                <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
                <title>Nokia Maps API Example: Search by category</title>
                <meta name="description" content="Search by category"/>
                <meta name="keywords" content="search, services, places, category"/>
                <!-- For scaling content for mobile devices, setting the viewport to the width of the device-->
                <meta name=viewport content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
                <!-- By default we add ?with=all to load every package available, it's better to change this parameter to your use case. Options ?with=maps|positioning|places|placesdata|directions|datarendering|all -->
                <script type="text/javascript" charset="UTF-8" src="http://api.maps.nokia.com/2.2.3/jsl.js?with=all"></script>
                <!-- JavaScript for example container (NoteContainer & Logger)  -->
                <style type="text/css">
                    html {
                        overflow:hidden;
                    }
        
                    body {
                        margin: 0;
                        padding: 0;
                        overflow: hidden;
                        width: 100%;
                        height: 100%;
                        position: absolute;
                    }
        
                    #mapContainer {
                        width: 80%;
                        height: 80%;
                        left: 0;
                        top: 0;
                        position: absolute;
                    }
                    #progress {
                        width: 80%;
                        height: 10%;
                        left: 0;
                        top: 80%;
                        position: absolute;
                    }
                    #buttons {
                        width: 80%;
                        height: 10%;
                        left: 0;
                        top: 90%;
                        position: absolute;
                    }
                </style>
            </head>
            <body>
                <div id="mapContainer"></div>
                <div id="progress"></div>
           
                <script type="text/javascript" id="exampleJsSource">
        /*  Set authentication token and appid 
        *   WARNING: this is a demo-only key
        *   please register on http://api.developer.nokia.com/ 
        *   and obtain your own developer's API key 
        */
        nokia.Settings.set("appId", "MY APP ID"); 
        nokia.Settings.set("authenticationToken", "MY TOKEN");
        
        
        // Get the DOM node to which we will append the map
        var mapContainer = document.getElementById("mapContainer");
        // Create a map inside the map container DOM node
        var map = new nokia.maps.map.Display(mapContainer, {
            // Initial center and zoom level of the map
            center: [52.51, 13.4],
            zoomLevel: 13,
            components: [       
                new nokia.maps.map.component.Behavior()
            ]
        });
        
        var searchManager = nokia.places.search.manager,
            resultSet;
        
        
        
        
        // Function for receiving search results from places search and process them
        var processResults = function (data, requestStatus, requestId) {
            var i, len, locations, marker;
            if (requestStatus == "OK") {
                // The function findPlaces() and reverseGeoCode() of  return results in slightly different formats
                locations = data.results ? data.results.items : [data.location];
                // We check that at least one location has been found
                if (locations.length > 0) {
                    // Remove results from previous search from the map
                    if (resultSet) map.objects.remove(resultSet);
                    // Convert all found locations into a set of markers
                    resultSet = new nokia.maps.map.Container();
                    for (i = 0, len = locations.length; i < len; i++) {
                        marker = new nokia.maps.map.StandardMarker(locations[i].position, { text: i+1 });
                        resultSet.objects.add(marker);
                    }
                    // Next we add the marker(s) to the map's object collection so they will be rendered onto the map
                    map.objects.add(resultSet);
                    // We zoom the map to a view that encapsulates all the markers into map's viewport
                    //map.zoomTo(resultSet.getBoundingBox(), true);
                   
                } else { 
                    //alert("Your search produced no results!");
                }
                 searching = false;
            } else {
                alert("The search request failed");
                searching = false;
            }
        };
        
        
        
        // Binding of DOM elements to several variables so we can install event handlers.
        var progressUiElt = document.getElementById("progress");
        
        // This function is called whenever we make a search
        var searching = false;
        search = function(searchCenter){
        // Make a place search request
        var category = "eat-drink"
        progressUiElt.innerHTML = "Looking for places in the '" + category + "' category...'";
        searchManager.findPlacesByCategory({
            category: category,
            onComplete: processResults,
            searchCenter: searchCenter,
            limit: 50,
        });
        }
        
        
        search(new nokia.maps.geo.Coordinate(52.51, 13.4));
        
        
        
        // This observer will call the search function if the center of the map is moved
        // Beyond the area covered in the previous search
        var centerObserver = function (obj, key, newValue, oldValue) {
        	if ((searching == false) && (resultSet.getBoundingBox().contains(newValue) == false) ){
        		searching = true;
        		search(newValue);
        	}
         
        };
         
        map.addObserver("center", centerObserver );
        
        
                </script>
            </body>
        </html>

Similar Threads

  1. how can i, create a nokia.maps.map.Polyline using a nokia.maps.routing.Manager?
    By upixsoul in forum [Archived] Maps API for Javascript
    Replies: 5
    Last Post: 2012-05-30, 15:54
  2. Is there a way to convert Maps Data from Nokia Maps 3 to be compatible with N Maps 2
    By dimchopicha in forum General Development Questions
    Replies: 6
    Last Post: 2011-01-09, 17:50
  3. Navigation route coordinates from Nokia Maps or Ovi Maps
    By selimsolmaz in forum Mobile Java Tools & SDKs
    Replies: 2
    Last Post: 2010-03-04, 10:02
  4. Replies: 3
    Last Post: 2010-03-03, 10:25

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •