Under "Location services" there is a "Use wireless networks" setting - whenever the setting is on, I get constant "nlpwakelocks" and the battery drains a lot faster.
However, I see that this was supposidely fixed by Google: http://www.androidpolice.com/2013/05/29/download-latest-google-play-store-4-1-10/ (my version is 4.3.11) but I still get the wakelocks on my SGSIII.
Is the device constantly requesting my location with this option on, or is my network connectivity changing and the wakelock is triggered each time (e.g. wifi networks and cell towers coming in and out of range)?
It would be good to be able to use the option, as apps such as Google Now can know where I am but the battery drain means that I have to toggle each time and remember to turn it off.
Update
LogCat Output (filtered to strings containing "location")
09-04 14:54:40.605 I/XPrivacy/XRuntime(10598): get 10240/su shell=false *
09-04 14:54:48.080 I/dalvikvm-heap(15987): Grow heap (frag case) to 16.758MB for 2359312-byte allocation
09-04 14:54:52.325 I/dalvikvm-heap(15987): Grow heap (frag case) to 19.454MB for 2391216-byte allocation
09-04 14:54:53.020 I/dalvikvm-heap(15987): Grow heap (frag case) to 19.845MB for 2240016-byte allocation
09-04 14:54:54.365 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 11 ms
09-04 14:54:54.425 I/XPrivacy/XTelephonyManager( 4958): get 10018/getCellLocation location=false 60 ms
09-04 14:54:54.440 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 7 ms
09-04 14:54:54.470 I/XPrivacy/XTelephonyManager( 4958): get 10018/getNeighboringCellInfo location=false 12 ms
09-04 14:54:57.635 I/dalvikvm-heap( 4772): Grow heap (frag case) to 17.766MB for 1244176-byte allocation
09-04 14:54:58.630 I/dalvikvm-heap( 4772): Grow heap (frag case) to 17.708MB for 1244176-byte allocation
09-04 14:55:02.110 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 7 ms
09-04 14:55:02.115 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false *
09-04 14:55:02.125 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false *
09-04 14:55:06.100 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 12 ms
09-04 14:55:06.120 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 32 ms
09-04 14:55:06.375 I/GCoreUlr( 5110): Successfully inserted location
09-04 14:55:06.400 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 725934, request: Phone
09-04 14:55:25.375 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 11 ms
09-04 14:55:25.380 I/XPrivacy/XTelephonyManager( 4958): get 10018/getCellLocation location=false 16 ms
09-04 14:55:25.445 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 11 ms
09-04 14:55:25.455 I/XPrivacy/XTelephonyManager( 4958): get 10018/getNeighboringCellInfo location=false 9 ms
09-04 14:55:47.510 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 12 ms
09-04 14:55:49.525 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false *
09-04 14:56:02.700 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 167 ms
09-04 14:56:02.790 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 8 ms
09-04 14:56:02.985 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 11 ms
09-04 14:56:06.875 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 128 ms
09-04 14:56:07.225 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 475 ms
09-04 14:56:07.400 I/GCoreUlr( 5110): Successfully inserted location
09-04 14:56:07.445 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 786963, request: Phone
09-04 14:56:09.455 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false *
09-04 14:57:03.255 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 194 ms
09-04 14:57:03.795 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 10 ms
09-04 14:57:03.850 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 7 ms
09-04 14:57:07.940 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 39 ms
09-04 14:57:07.950 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 57 ms
09-04 14:57:08.400 I/GCoreUlr( 5110): Successfully inserted location
09-04 14:57:08.450 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 847966, request: Phone
09-04 14:57:27.490 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 28 ms
09-04 14:57:34.450 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false *
09-04 14:58:02.735 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 17 ms
09-04 14:58:03.100 I/dalvikvm-heap( 5110): Grow heap (frag case) to 14.625MB for 30998-byte allocation
09-04 14:58:03.810 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 10 ms
09-04 14:58:03.890 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 17 ms
09-04 14:58:07.910 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 44 ms
09-04 14:58:07.920 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 48 ms
09-04 14:58:19.625 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 28 ms
09-04 14:58:19.820 I/GCoreUlr( 5110): Successfully inserted location
09-04 14:58:19.875 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 919382, request: Phone
09-04 14:58:46.625 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 17 ms
09-04 14:58:51.720 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false *
09-04 14:59:03.820 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 143 ms
09-04 14:59:04.060 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 11 ms
09-04 14:59:04.130 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 14 ms
09-04 14:59:08.115 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 86 ms
09-04 14:59:08.360 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 325 ms
09-04 14:59:08.885 I/GCoreUlr( 5110): Successfully inserted location
09-04 14:59:08.940 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 968451, request: Phone
09-04 14:59:18.535 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false *
09-04 14:59:24.500 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 50 ms
09-04 14:59:26.435 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false *
09-04 14:59:30.550 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false *
09-04 15:00:03.550 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 21 ms
09-04 15:00:04.130 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 14 ms
09-04 15:00:04.210 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 15 ms
09-04 15:00:08.205 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 75 ms
09-04 15:00:08.205 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 68 ms
09-04 15:00:08.985 I/GCoreUlr( 5110): Successfully inserted location
09-04 15:00:09.040 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 1028547, request: Phone
09-04 15:00:14.707 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false *
09-04 15:00:34.720 I/XPrivacy/XTelephonyManager( 4958): get 10018/getCellLocation location=false 11 ms
09-04 15:00:35.195 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 432 ms
09-04 15:00:35.375 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 27 ms
09-04 15:00:35.420 I/XPrivacy/XTelephonyManager( 4958): get 10018/getNeighboringCellInfo location=false 58 ms
09-04 15:00:35.495 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 9 ms
09-04 15:00:35.525 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false *
09-04 15:00:41.550 I/dalvikvm-heap(12643): Grow heap (frag case) to 14.987MB for 13792-byte allocation
09-04 15:00:42.950 I/Wakelock(12643): Substraction Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=3106] from Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=3159]
09-04 15:00:42.950 I/Wakelock(12643): Result: Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=53]
09-04 15:00:43.600 I/StatsAdapter(12643): Values: NlpLocationReceiverService18 m 23 s (1103 s)
09-04 15:00:45.290 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false *
09-04 15:00:45.295 I/XPrivacy/XTelephonyManager( 4958): get 10018/getCellLocation location=false *
09-04 15:00:45.315 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false *
09-04 15:00:45.315 I/XPrivacy/XTelephonyManager( 4958): get 10018/getNeighboringCellInfo location=false *
09-04 15:00:48.590 I/dalvikvm-heap(12643): Grow heap (frag case) to 14.603MB for 172252-byte allocation
09-04 15:00:48.690 I/Wakelock(12643): Substraction Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReceiverService], m_duration=2081] from Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReceiverService], m_duration=3527]
09-04 15:00:48.690 I/Wakelock(12643): Result: Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReceiverService], m_duration=1446]
09-04 15:00:48.695 I/Wakelock(12643): Substraction Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=3137] from Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=3159]
09-04 15:00:48.695 I/Wakelock(12643): Result: Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=22]
09-04 15:00:48.850 I/StatsAdapter(12643): Values: NlpLocationReceiverService18 m 23 s (1103 s)
Update 2
More info here: http://productforums.google.com/forum/#!topic/mobile/kZkk3E3YVTc