POST
|
Thank you, both. I can run the code in the jFiddle. But in my system, the _autoComplete() function is being exposed as _autocomplete(). See image below, from the Developer Tools window in Chrome: [ATTACH=CONFIG]34514[/ATTACH] And this code works perfectly for me: simplemapp.geocoder.set("value", searchString); simplemapp.geocoder._autocomplete(); So we've solved my problem but created a mystery!
... View more
06-11-2014
02:29 PM
|
0
|
0
|
708
|
POST
|
Thanks, Matt. The first statement is working (so I know I'm talking to the right Widget). But the second statement causes this error: "Uncaught TypeError: undefined is not a function". I have: require([..."esri/dijit/Geocoder", ...], function(...esriGeocoder, ...) But I guess I need to do something more to make that internal function visible.
... View more
06-11-2014
01:51 PM
|
0
|
0
|
708
|
POST
|
Thanks for the Welcome and the quick response, John. Your suggestion would work fine if I was trying to have my program process the candidates and display them in some UI that it had built. But I'm trying to let the user see the candidates, right below the geocoder widget. To put it another way, I want the geocoder to behave as if the user had typed in the address, and the AutoComplete function had fired, displaying a list of candidates. Looking at the code on GitHub, I want to somehow trigger the _inputKeyUp function [line 1084], which will notice that I've set the AutoComplete option and that enough characters have been typed in [line 1117] and invoke this._autoComplete() [line 1118], which runs the query [line 732] and does the this._showResults [line 739]. I just can't figure out how to trigger the _inputKeyUp. It seems to be listening for it: on(this.inputNode, "keyup" [line 1049]. But my doing $geocoderInput.trigger("keyup"); doesn't seem to be getting through. Doing an "Inspect Element" from Chrome, I see that this is the correct DOM element: input aria-haspopup="true" id="simplemap_divGeocoder_input" tabindex="0" placeholder="" value="" autocomplete="off" type="text" data-dojo-attach-point="inputNode" data-dojo-attach-event="ondijitclick:_inputClick" role="textbox" I don't know dojo, but this seems to be saying that it will pass a click event to that "attach-point". (I don't think the autocomplete="off" is relevant or having an effect. The AutoComplete functionality definitely works when I type in characters manually.)
... View more
06-10-2014
05:49 PM
|
0
|
0
|
708
|
POST
|
From elsewhere in my application, I want to be able put an address in the Geocoder and trigger the display of candidate addresses so that the user can pick one. This code accomplishes the first goal -- getting a string into the Geocoder: simplemap.geocoder.focus(); $geocoderInput = $dom.find("#simplemap_divGeocoder_input"); $geocoderInput.val("100 W Peachtree, Atlanta, GA"); But I have not been able to find a way to trigger the display of candidate addresses so that the user can pick one. This statement doesn't work: $geocoderInput.trigger("keyup"); Neither did the other triggers ("keydown", "keypress") or combinations thereof. From looking at the Geocoder code on GitHub*, it seems like the "keyup" trigger, once we have more than a couple of characters of text in the input box, should work. But it doesn't. The Geocoder only seems to respond to actual key presses on the keyboard. How does it know the difference between an actual keypress and the event which says this happened? Thanks in advance for any help or insights. *https://github.com/Esri/arcgis-dijit-geocoder-js
... View more
06-09-2014
07:40 PM
|
0
|
7
|
1297
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|